您知道吗,如果您在同一个域中用Cakephp运行同一应用程序的多个实例,它们将共享同一个会话?例如,假设在以下位置运行实例:
www.example.com/instance1和www.example.com/instance2
如果您在第一个实例中登录并访问instance2,您将看到您已经登录。这是因为Cakephp默认使用PHP会话存储机制。
如果这不是您期望的行为,Cakephp允许您从会话处理方法的三个选项中进行选择:php(默认)、cake和database。当前方法存储在会话中。将变量保存在app/config/core中。php。
将方法从php更改为蛋糕将使Cakephp将会话变量存储在app/tmp/会话目录中。如果您这样做,请记住创建并给予此目录适当的权限。
瞧,这就是您所需要做的,为每个Cakephp实例都有单独的会话。
请打开核心。php
Configure::write('Session', array(
'defaults' => 'database',
'ini' => array(
'session.cookie_path' => '/instance1',
),
'cookie' => 'instance1',
'cookieTimeout' => 0,
'checkAgent' => false
));
例如www.example。com/instance2
Configure::write('Session', array(
'defaults' => 'database',
'ini' => array(
'session.cookie_path' => '/instance2',
),
'cookie' => 'instance2',
'cookieTimeout' => 0,
'checkAgent' => false
));