Session与一台服务器上的多个Laravel项目冲突


Session conflicts with multiple Laravel projects on one server

我有几个Laravel项目的共享服务器。例子:

x.x.x.x/project1
x.x.x.x/project2

我的问题是,当我试图登录在project1, project2将自动注销。是因为Laravel会议吗?

谁能建议我该怎么做?

这不是会话问题,而是cookie问题。您可以针对每个项目在.env文件中修复APP_NAME

这是因为session.php文件的cookie配置部分。

'cookie' => env(
    'SESSION_COOKIE',
    Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),

会话cookie路径可配置。看看config/session.php

中的path

我更改了会话cookie标识符以添加环境,因此我可以在同一浏览器中同时打开开发和活动站点。下面是我在config/session.php中为cookie替换的代码:

'cookie' => env(
    'SESSION_COOKIE',
    str_slug(env('APP_NAME', 'laravel'), '_').env('APP_ENV','dev').'_session'
),