为了账号安全,请及时绑定邮箱和手机立即绑定

为什么PHP session_destroy()无法正常工作?

/ 猿问

为什么PHP session_destroy()无法正常工作?

PHP
饮歌长啸 2019-11-18 13:08:47

我试图通过使用该session_destroy()方法销毁所有会话变量,但是在使用此方法之后,这些值不会被销毁。


为什么session_destroy()不工作?


还有其他方法可以销毁PHP中的会话吗?


if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) 

{   

    session_destroy();   

    session_unset();     

}


查看完整描述

3 回答

?
45度呼吸

使用后session_destroy(),会话将在后台被销毁。由于某种原因,这不会影响$_SESSION已为此请求填充的中的值,但在以后的请求中将为空。


如果需要,您可以手动清除$_SESSION($_SESSION = [];)。


查看完整回答
反对 回复 2019-11-18
?
烙印99

可能为时已晚,无法响应,但是,请确保在销毁会话之前将其初始化。


session_start() ;

session_destroy() ;

即,如果您在index.php中初始化了会话,则无法销毁logout.php中的会话。在销毁会话之前,必须先在logout.php中启动该会话。


查看完整回答
反对 回复 2019-11-18
?
偶然的你

如果您需要清除的值$_SESSION,请将数组设置为空数组:


$_SESSION = array();

当然,$_SESSION一旦调用session_destroy,就无法访问另一页上的值,因此没关系。


请尝试以下操作:


session_destroy();

$_SESSION = array(); // Clears the $_SESSION variable


查看完整回答
反对 回复 2019-11-18

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信