我正在運行Ubuntu/nginx和php-fpm。當我打開我的網站http://www.mydomain.com時,我必須登錄並且會話由PHP創建。當我登錄到http://mydomain.com時,我必須再次登錄並且正在創建另一個會話。每個域名的新會話
如何防止PHP創建新會話並堅持使用一個?或者這是一個Web服務器問題?
我正在運行Ubuntu/nginx和php-fpm。當我打開我的網站http://www.mydomain.com時,我必須登錄並且會話由PHP創建。當我登錄到http://mydomain.com時,我必須再次登錄並且正在創建另一個會話。每個域名的新會話
如何防止PHP創建新會話並堅持使用一個?或者這是一個Web服務器問題?
這是因爲您的會話基於Cookie,Cookie是特定於域的。 www.domain.com
在技術上屬於domain.com
的子域,儘管它很少被視爲這樣,並且瀏覽器將充當它是一個完全不同的服務器。您可以根據需要通過將會話ID作爲GET(或POST)參數傳遞給該問題。
請參閱this page或PHP手冊瞭解如何操作。你真正需要做的就是在你的所有鏈接中包含常量SID
- 當你調用session_start()
並且是一個URL參數格式的字符串時,這個定義會被定義。
使用session_set_cookie_params並將域設置爲.mydomain.com
。此外session_set_cookie_params需求之前每個session_start
你需要指定Cookie域,以確保cookie將被看作有效的兩種www和非www被稱爲http://php.net/manual/en/function.session-set-cookie-params.php
與此唯一的問題是,你是靠德客戶尊重該指令,但是,這是一個更簡單的解決方案,因爲您沒有以任何其他方式修改您的代碼。 – DaveRandom