在localhost上,两个不同的项目共享同一个会话

时间:2017-07-10 03:50:32

标签: php codeigniter

我的本​​地主机是XAMPP。这两个项目的代码基本相同,至少是登录模块。这些项目是用Codeigniter构建的。

我的问题是,例如,如果我登录项目A,那么我发现我也自动登录了项目B.

这两个项目不使用相同的数据库,但它们的登录代码是相同的。当用户访问该页面时,我将首先检查变量$this->session->isLoggedIn,如果是,我将页面重定向到用户页面。我发现他们使用相同的会话ID。这是localhost上的常见问题,因为它们共享同一个域,或者我犯了错误?

2 个答案:

答案 0 :(得分:2)

设置session时,您需要differentiate session基于项目  对于你这样的识别

$this->session->set_userdata('project_A_username', 'usernamehere');

$this->session->set_userdata('project_B_username', 'usernamehere');

php会话对于您的所有项目都很常见。所以你必须要区分。

OP评论:如果是这样,这不会在实时环境中发生,因为它们不属于同一个域?

是的,它不会发生。因为它们处于不同的领域。

答案 1 :(得分:0)

在两个项目上运行$ php artisan config:cache

这通常发生在Windows上的

其解释https://github.com/laravel/framework/issues/19454