session_start()每次都生成相同的会话ID

时间:2012-04-20 03:23:54

标签: php

我正在尝试实现简单的登录和注销机制。当用户登录时,我使用session_start()创建会话。当用户退出时,我正在呼叫

session_unset();
session_destroy();

但问题是下次登出后如果再次登录。 the session_id()与之前相同。无论我做session_destroy()多少,session_id()总是一样的。这是否意味着session_destroy()无效?还是有其他原因?

2 个答案:

答案 0 :(得分:5)

更改

session_unset(); 
session_destroy();

session_start(); 
session_destroy();

与你的代码会话一样,并没有真正被破坏。

答案 1 :(得分:3)

http://php.net/session_destroy

session_destroy()基本上是

$_SESSION = array();

但保留会话cookie,并保存其中的会话ID。您必须通过setcookie()调用手动取消设置Cookie,或使用session_regenerate_id()强制创建新ID。