2015-05-20 85 views
0

我的實際情況PHP:將一個cookie的域的子域

http://www.stackoverflow.com/project1 

爲此,我使用這個會話配置 (會話必須處於活動狀態長達一小時,僅在文件夾有效/ PROJECT1

$lifetime = 3600; 
session_start(); 
setcookie(session_name(),session_id(),time()+$lifetime,"/project1"); 

很快我將不得不移動/ PROJECT1在一個子

http://project1.stackoverflow.com 

如何將會話更改爲僅在子域項目1中有效? 謝謝

+0

設置路徑,域,過期的會話cookie等如果從您的子你運行你的cookie創建邏輯,該cookie將被創建/適用於該子域。你能嘗試從子域執行嗎? – Makesh

回答

0

我建議你停止像這樣手動管理Session cookie,並讓PHP自動爲你處理它。

您可以用功能session_set_cookie_params

+0

我使用setcookie而不是session_set_cookie_params來解決與會話生存期有關的問題。請參閱http://php.net/session_set_cookie_params#100657 – WhiteLine

+0

您可以通過在每個請求上運行'session_regenerate_id(true);'來解決這個問題 - 它會自動創建一個新的會話ID + cookie,防止舊的會過期。 – Stephen