我有幾個子域名,比如'a.domain.com','b.domain.com',但是我發現如果我在子域a登錄,session/cookies獲得't在b工作,我必須再次登錄'b.domain.com'如何使會話/ cookies在Yii的所有子域中都可以使用
如何使登錄會話在所有子域中工作?
更新:
我發現每個子域都有不同的會話ID ...
更新:
,我發現我只能在幾個domians像 '板凳' 登錄並'post',但不能登錄'book'和其他域名。真奇怪。
我有幾個子域名,比如'a.domain.com','b.domain.com',但是我發現如果我在子域a登錄,session/cookies獲得't在b工作,我必須再次登錄'b.domain.com'如何使會話/ cookies在Yii的所有子域中都可以使用
如何使登錄會話在所有子域中工作?
更新:
我發現每個子域都有不同的會話ID ...
更新:
,我發現我只能在幾個domians像 '板凳' 登錄並'post',但不能登錄'book'和其他域名。真奇怪。
你可以使用PHP的session.cookie_domain值,並將其設置爲你的頂級域名(.domain.com)。通過編輯php.ini或使用ini_set('session.cookie_domain','.domain.com')設置;
祝你好運:)
Shai。
好吧,在我改變了設置之後,我甚至無法登錄......順便說一下,我使用數據庫存儲會話,如果這很在意的話。 – LotusH
存儲會話?你什麼意思?也許你錯了,它應該做的工作。你能粘貼你添加的行嗎?夏嘉曦。 –
您可以將其設置在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'),
),
...
)
...
你看看這裏:http://www.yiiframework.com/forum/index.php?/topic/7861-sessions-and -subdomains? – ldg