提问者:小点点

同一域中不同Cakephp实例的多个会话


您知道吗,如果您在同一个域中用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实例都有单独的会话。


共1个答案

匿名用户

请打开核心。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  
    ));