session_destroy();还在工作?

时间:2012-09-05 12:36:55

标签: php session session-state sessionid

所以我有一个注销按钮,链接到一个名为logout.php的脚本,标准的东西。

分钟的Logout.php如下所示:

<?php
session_start();
$sid = session_id();
echo $sid;

session_destroy();
session_unset();

session_start();
session_regenerate_id(true);
$sid = session_id();
echo $sid;
?>

这段代码来自于对互联网进行一些研究(和堆栈溢出)以及使用简单的:

session_start();
session_destroy();

没有用。

所以当前的脚本产生了这个:

a920o3mmfhh7gldak4ki4nure5
Warning: session_destroy() [function.session-destroy]: Session object destruction failed in (File Path)p on line 7

Warning: session_regenerate_id() [function.session-regenerate-id]: Session object destruction failed in (File Path) on line 12
a920o3mmfhh7gldak4ki4nure5

session_destroy是否已折旧?因为我查看了手册,并没有说它已经存在并且通常是最新的。如果没有,任何人都可以看到它为什么不能破坏我的会话?

2 个答案:

答案 0 :(得分:1)

使用此功能注销:

session_start();
$_SESSION = array();

if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}

答案 1 :(得分:0)

if(isset($_SESSION)){
   unset($_SESSION);
 }