2013-08-27 75 views
0

這是我在基於PHP的Web應用程序發起會話代碼域和子域的PHP會話

session_set_cookie_params(24*60*60, "/", ".exdomain.com"); 
session_start(); 

我要的是同一個會話到所有的子域之間堅持說:

www.exdomain.com 
ajax.exdomain.com 

這裏,子域

ajax.exdomain.com

用於現在爲用戶服務的Ajax請求發生了什麼,用戶從螢火蟲的PHPSESSID cookie設置爲創建通過www.exdomain.com 新PHPSESSID =「91252ec9310ae1c80f44c7e885cf7dfe」登錄時如下:

PHPSESSID = 91252ec9310ae1c80f44c7e885cf7dfe | .exdomain.com | 41 B |/| 2013上午03時02分09秒

現在,當請求通過即ajax.exdomain.com,正在爲這個請求創建一個新的會話AJAX子域由8月29日,事實上每一個Ajax請求新PHPSESSID是被創建。 如何防止爲ajax請求形成新的會話。

+0

是否配置相同'session_set_cookie_params()'兩個子域?換句話說,'ajax.exdomain.com'知道還使用'.exdomain.com'作爲會話cookie的域名? –

+0

都使用相同的文件/功能進行登錄驗證/會話管理。 – manish

+0

檢查[這個問題](http://stackoverflow.com/questions/22489426/unable-to-create-session-in-php-on-ajax-call)它可能會幫助你。 – XIMRX

回答

0

您需要設置會話域,無論是在.htaccess或php.ini中

php_value session.cookie_domain ".exdomain.com"