我与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