編輯,看看到底更改cookie的域名,但舊Cookie仍在使用
我得到了一個Symfony的1.2的項目,這是在兩個領域運行(每個域中使用不同的應用程序):www.mywebsite .com和abonnement.mywebsite.com
我在每個應用程序中有兩個不同的cookie名稱/域。
我們決定爲這兩個應用程序使用相同的cookie。所以,我編輯了這兩個應用程序的配置,並將cookie_domain設置爲.mywebsite.com,並將cookie_name設置爲mywebsite_cookie。
問題是,當我訪問abonnement.mywebsite.com時,使用舊的cookie。在我的瀏覽器中手動刪除此cookie可修復此問題,但本網站上有成千上萬的用戶,我想知道是否有手動刪除此cookie的解決方案。
我想:
if (isset($_COOKIE['abonnement_cookie'])) {
ini_set('session.cookie_domain', 'abonnement.mywebsite.com);
setcookie('abonnement_cookie', '', time() - 3600, '/');
$this->redirect('@internet_etape_1');
}
但沒有成功。
有沒有辦法做到這一點?
我正在使用Firefox 9.0.1
謝謝!
編輯:
我發現這個問題,餅乾與「主機」,而不是「域」創建。
要使用當前的主機,你需要指定「」爲域名:
setcookie('abonnement_cookie', 0, time() - 3600, '/', '');
希望這有助於!
也不管用,但設置cookie後,我重定向到同一頁,因此如果沒有這個cookie的頁面重新加載(餅乾刪除)。不幸的是,cookie仍然存在。 – Tiois 2012-01-13 18:22:21
就這樣,當我嘗試去做的時候,你已經明白了,cookie_domain現在被設置爲.mywebsite.com,但是我試圖刪除的cookie位於abonnement.mywebsite.com上。我試圖在訪問abonnement.mywebsite.com網址時刪除這個cookie,但它不起作用。 – Tiois 2012-01-13 18:25:09
我發現問題,cookie是用「主機」而不是「域」創建的。 要使用當前主機,您需要指定''爲域: setcookie('abonnement_cookie',0,time() - 3600,'/',''); 希望這有助於! – Tiois 2012-01-13 18:47:05