我想在我的網站上使用www時使用我的會話。而當不使用它。 我已閱讀此主題: PHP cookie problem - www or without www會話cookie和www
而且這可行,但我不是在這裏創建cookie,而是會話。我將如何解決這個問題?還請注意,我不知道我的腳本將在哪個域上運行,因此對域進行硬編碼不是一種選擇。
有沒有辦法做到這一點?
謝謝
編輯: 我強迫該會話ID的應存放在cookie中,所以只適用。
我想在我的網站上使用www時使用我的會話。而當不使用它。 我已閱讀此主題: PHP cookie problem - www or without www會話cookie和www
而且這可行,但我不是在這裏創建cookie,而是會話。我將如何解決這個問題?還請注意,我不知道我的腳本將在哪個域上運行,因此對域進行硬編碼不是一種選擇。
有沒有辦法做到這一點?
謝謝
編輯: 我強迫該會話ID的應存放在cookie中,所以只適用。
調用在session_start使用前session_set_cookie_params功能,它允許您設置會話域和其他的東西,將域設置爲您的域名與一個前綴。使會話也可以用於子域。
PHP使用cookie作爲會話ID,所以這就是真正的問題(和解決方案)。看看會話配置。
使用在所有請求正確的主機名是會議重要。但是,如果您打算跨多個子域訪問cookie,則可以使用預定義時間段指定域參數。即,
.example.com的
我已經遇到了這個問題,我的cookies和你的帖子中的鏈接很好的解決了這個問題。
到目前爲止,我從來沒有遇到Sessions的困難。它獨立於域或子域,它們存儲在服務器端。
您可以在配置文件中設置一個常量參數DOMAIN_NAME,或在數據庫中預先設置您的Cookie,然後只修改一次。
您可以爲此反映php.ini
。在php.ini中添加這讓你的會話cookie將在地方保存到可訪問帶或不帶WWW
session.cookie_domain = .example.com
您也可以嘗試備用做到這一點
ini_set("session.cookie_domain", ".example.com");
,你可以使用$_SERVER['HTTP_HOST']
變量獲取主機名。