zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    接口中解决默认方法冲突
    继承中的访问域问题
    继承中的多态问题
    Java中方法的调用过程
    【JS】表格获取每一列方法
    【Git报错】 ! [rejected] master -> master (fetch first)
    【Vue】vue-cli配置proxyTable调用服务器接口
    layui监听多个radio事件
    【总结】display属性inline,block,inline-block
    【实例总结】fixed定位元素内部滚动显示
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453495.html
Copyright © 2011-2022 走看看