2014-02-11 164 views
0

我正在嘗試爲我的網站創建一個登錄系統。我得到了會議的一切設置和東西。用戶在www.myhomepage.tld上保持登錄狀態,並在任何地方正確顯示。PHP會話在子域上被破壞

但是,只要我嘗試從anysubdomain.myhomepage.tld訪問會話,它就會立即被破壞。登錄指示符並不表示用戶已登錄,並且當我返回到www.myhomepage.tld時,用戶不再登錄。

我已經設置了一個全局.php文件,其中包含許多用於許多功能的文件頁面。其中一人開始會議。

function startsession() { 
    session_name('login'); 
    session_set_cookie_params(0, "/", ".raptilic.us"); 
    session_start(); 
} 

當我訪問不調用此函數或任何其他會話函數的子域上的頁面時,會話保持活動狀態。但只要我從任何子域調用它,會話就會被銷燬。爲什麼?你知道一個解決辦法嗎?

關於它的奇怪之處不僅在於子會話不可訪問會話。會議被破壞。


編輯:這是一些加密的東西有問題。我通過將

php_flag "suhosin.session.cryptdocroot" 0 

加入到.htaccess文件中來解決了問題。

+0

你在哪裏創建會話 –

回答

0

試試這個

ini_set('session.cookie_domain', '.raptilic.us'); 
+0

謝謝,但是這不會改變任何東西。 – Rapti

+0

您可以按如下所示使用cookie setcookie(「ID」,$ id,$ hour,「/」,「.raptilic.us」); ...它將跨子域 – user1844933

+0

我做了'setcookie(「ID」,session_id(),3600,「/」,「.raptilic.us」);'。那是對的嗎?它仍然不起作用。 – Rapti