我有几个子域名,例如'a.domain.com','b.domain.com',但我发现如果我在子域名a登录,会话/ cookie将无法在b中运行,我必须再次登录在'b.domain.com'
如何在所有子域中使登录会话正常工作?
更新
我发现每个子域都有不同的会话ID ...
更新
我发现我只能登录几个像'bench'和'post'这样的domians,但无法登录'book'和其他域名。真奇怪。
答案 0 :(得分:8)
你可以在yii config / main.php 文件中设置它,就像我一样。 (我不确定你是否还需要更改php.ini文件,但我会说“不”,因为下面的配置解决了我的问题)。
<强>保护/配置/ main.php 强>
...
'components' => array(
...
'user'=>array(
...
'identityCookie' => array('domain' => '.mydomain.com', //note dot before domain name
// identityCookie same as "session->cookieParams->domain"
),
'session' => array(
'autoStart'=>true,
'cookieParams' => array('domain' => '.mydomain.com'),
),
...
)
...
答案 1 :(得分:3)
您可以使用PHP的session.cookie_domain值并将其设置为您的顶级域名(.domain.com)。通过编辑php.ini或使用ini_set进行设置(&#39; session.cookie_domain&#39;,&#39; .domain.com&#39;);
祝你好运:) 晒。