2011-03-15 127 views
1

我想在我的網站上使用www時使用我的會話。而當不使用它。 我已閱讀此主題: PHP cookie problem - www or without www會話cookie和www

而且這可行,但我不是在這裏創建cookie,而是會話。我將如何解決這個問題?還請注意,我不知道我的腳本將在哪個域上運行,因此對域進行硬編碼不是一種選擇。

有沒有辦法做到這一點?

謝謝

編輯: 我強迫該會話ID的應存放在cookie中,所以只適用。

回答

2

調用在session_start使用前session_set_cookie_params功能,它允許您設置會話域和其他的東西,將域設置爲您的域名與一個前綴。使會話也可以用於子域。

0

使用在所有請求正確的主機名是會議重要。但是,如果您打算跨多個子域訪問cookie,則可以使用預定義時間段指定域參數。即,

.example.com的

0

我已經遇到了這個問題,我的cookies和你的帖子中的鏈接很好的解決了這個問題。

到目前爲止,我從來沒有遇到Sessions的困難。它獨立於域或子域,它們存儲在服務器端。

您可以在配置文件中設置一個常量參數DOMAIN_NAME,或在數據庫中預先設置您的Cookie,然後只修改一次。

1

您可以爲此反映php.ini。在php.ini中添加這讓你的會話cookie將在地方保存到可訪問帶或不帶WWW

session.cookie_domain = .example.com 

您也可以嘗試備用做到這一點

ini_set("session.cookie_domain", ".example.com"); 

,你可以使用$_SERVER['HTTP_HOST']變量獲取主機名。