gpt4 book ai didi

php - 为什么Session对象销毁失败

转载 作者:行者123 更新时间:2023-12-04 13:33:17 27 4
gpt4 key购买 nike

使用 session_destroy() 时出现“ session 对象销毁失败”。

session_start();
if(isset($_SESSION['user_id'])){
$_SESSION=array();
if(isset($_COOKIE[session_name()])){
setcookie(session_name(),'',0,"/");
}
session_destroy();
}

是什么导致了这个错误?

最佳答案

错误:

Warning: session_destroy(): Session object destruction failed



这是相当微不足道的,没有 session 已启动对象已提交,因此您无法销毁它。
@运算符(operator)并不总是活跃的,例如具有错误报告功能。

编辑:

1) What causes this error?



此错误通常是由于 PHP 尝试删除 session 文件但找不到它时导致的。

在您的情况下 session_destroy只有 one place in PHP这导致了这个。那时 session.save_handler (另见 session_set_save_handler )返回 FALSE用于销毁操作。这取决于您使用哪种类型的保存处理程序,默认是文件。有了那个,当 session.save_path 设置错误(例如,不是可访问的目录),这会导致此类错误。

2) Why would the "@" not be suppressing the error?



这取决于输出的创建方式和 PHP 配置。 @并不总是有效。例如用 set_error_handler 注册的回调仍会收到这些消息。

关于php - 为什么Session对象销毁失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com