• laravel 多个项目共享SESSION


    只讨论一个域下的项目。 eg: a.xxx.com 和 b.xxx.com 来共享session

    如果多个laravel项目共享SESSION要满足以下条件:

        SESSION可以存放在一个地方,eg:共用一个reids
        用户表为连接同一个数据库的用户表
        需要在同一域下

    操作步骤:以将session 存放到redis中为例:
    1. 安装redis库composer require predis/predis
    2. 修改 laravel框架的配置。
    3. 修改.env 文件
    SESSION_DRIVER=redis
    SESSION_DOMAIN=.xxx.com //这里自定义自己的域名 注意前面有个.
    将两个项目中APP_KEY 的值改一致

    4.这样应该就可以了~

    修改app/config/database.php redis中多加一个session 配置

     'redis' => [
            'client' => 'predis',
            'default' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', 6379),
                'database' => env('REDIS_DATABASE', 0),
            ],
    
            'session' => [
                //这里的键名不一样哦,可以在env中自定义参数的值
                'host'     => env('REDIS_HOST_SESSION', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD_SESSION', null),
                'port'     => env('REDIS_PORT_SESSION', 6379),
                'database' => env('REDIS_DATABASE_SESSION', 6),
            ],
    
        ],
    

    改app/config/session.php 中的三个值。
    1️⃣'domain' => '.local.com',//这里填写你的域
    2️⃣'cookie'=> 'laravel_cookie', //
    3️⃣'connection' => 'session',

    要保证,两个项目中的前两个值要一致!laravel 5.3好像没有 SESSION_COOKIE这个参数,手动可以改成一致的。
    可以自定义的可以 用env函数来做~

    原文:https://blog.csdn.net/u012129607/article/details/80677329

  • 相关阅读:
    使用shell生成excel
    linux逻辑卷扩容
    nginx异常访问处理
    云主机上的k8s集群通信故障
    【转】 Pro Android学习笔记(七九):服务(4):远程服务的实现
    老李分享:系统可用性评估
    Develoment 和 Production 模式的区分打包
    TS基础学习笔记
    flanneld 安装
    Execl文件批量转csv文件
  • 原文地址:https://www.cnblogs.com/lxwphp/p/10632224.html
Copyright © 2020-2023  润新知