You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一浏览器中两个Laravel项目互踢登录问题求助

解决Laravel 5.3同域名不同端口项目会话冲突问题

嘿,这个坑我之前踩过!本质是两个项目默认用了相同的会话Cookie配置,导致同域名下的Cookie互相覆盖,登录一个就把另一个的会话冲掉了。给你几个实用的解决方案:

  • 修改会话Cookie名称
    Laravel默认的会话Cookie名是laravel_session,两个项目用同一个名字肯定会冲突。打开每个项目的config/session.php文件,找到'cookie'配置项,给每个项目设置独一无二的名字:

    // 前端项目
    'cookie' => 'frontend_session',
    
    // 端口75的后台项目
    'cookie' => 'admin_port75_session',
    
    // 端口81的后台项目
    'cookie' => 'admin_port81_session',
    

    修改后记得清除浏览器的Cookie,同时删掉项目storage/framework/sessions目录下的旧会话文件,避免残留影响。

  • 设置不同的Cookie路径
    如果你想保留Cookie名称,也可以给每个项目指定不同的Cookie生效路径。同样在config/session.php里修改'path'项:

    // 主域名项目(example.com)
    'path' => '/',
    
    // 端口75的项目
    'path' => '/public', // 也可以设成更专属的路径比如'/admin'
    
    // 端口81的项目
    'path' => '/panel', // 自定义一个独有的路径
    

    这样每个项目的Cookie只会在自己的路径下生效,不会干扰其他项目的会话。

  • 配置会话前缀区分
    如果你们用的是文件、Redis或者数据库这类共享型会话驱动,还可以给每个项目设置不同的会话前缀。在config/session.php里找到'prefix':

    // 前端项目
    'prefix' => 'frontend_',
    
    // 端口75的后台项目
    'prefix' => 'admin75_',
    
    // 端口81的后台项目
    'prefix' => 'admin81_',
    

    这样即使会话存储在同一个地方,不同项目的会话数据也会因为前缀不同而被区分开,不会互相覆盖。

最后提醒下:修改完配置后,最好重启一下你的开发服务器(比如Valet、Homestead或者内置的PHP服务器),确保新配置被加载生效。

内容的提问来源于stack exchange,提问作者Deepesh singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:22:07