我與PHP的成文規定,以摧毀一個會話瓦特/餅乾麻煩。
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
這是導致我看到的cookie設置兩次:
Set-Cookie: SESSION_NAME=deleted; expires=Sat, 08-Jan-2011 14:09:10 GMT; path=/; secure
Set-Cookie: SESSION_NAME=1_4f09a3871d483; path=/
如PHP的意見記錄在案,設置cookie值比空(「」)以外的東西擺脫的「刪除「值,但第二個cookie集保留。
要擺脫的是,我不得不添加的代碼上面的建議:
ini_set('session.use_cookies', '0');
我沒有看過源處理會話,但我的猜測是的setcookie(...)是繞過會議模塊,所以會議不知道我叫它。所以,在我設置一個已刪除的cookie後,它將設置一個默認的cookie。
我是測試在Mac上:用了Suhosin貼片(CLI)PHP 5.3.6(建:2011年9月8日19點34分○○秒)
謝謝,不幸的是它不是Apache而是非常老的Netscape服務器.. – ypnos 2008-10-27 23:46:38