首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告: session_destroy()?

警告: session_destroy()?
EN

Stack Overflow用户
提问于 2011-04-22 14:30:04
回答 3查看 12.4K关注 0票数 2

我正在尝试修复我的登录脚本,在我的本地主机上它工作,但上传到我的在线测试服务器,注销是中断的,我得到这个错误:

代码语言:javascript
复制
Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in htdocs/logout.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at htdocs/logout.php:17) in htdocs/logout.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at htdocs/logout.php:17) in www/htdocs/logout.php on line 34

不太确定是什么导致了它,因为它在我的本地主机上工作,有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-22 14:32:57

代码语言:javascript
复制
session_start();
session_destroy(); /*or sesion_unset();*/
票数 11
EN

Stack Overflow用户

发布于 2011-04-22 14:31:58

要使session_destroy正常工作,必须使用session_start启动会话。

票数 6
EN

Stack Overflow用户

发布于 2014-08-22 05:38:48

如果您只需要删除会话(例如,在名为退出/注销/析构函数的自动脚本中),并且它可能存在,也可能不存在,那么您可以使用session_status来检查状态。

从PHP 5.4.0开始,您可以这样检查它:

代码语言:javascript
复制
if(session_status() == PHP_SESSION_ACTIVE)
{
    session_destroy();
}

这比创建一个新的区段只是为了稍后销毁它更可取。

根据PHP手册,session_status将返回一个可以与以下常量进行比较的整数:

代码语言:javascript
复制
Return Values 

• PHP_SESSION_DISABLED - Returned if sessions are disabled. 
• PHP_SESSION_NONE - Returned if sessions are enabled, but none exists. 
• PHP_SESSION_ACTIVE - Returned if sessions are enabled, and one exists. 

这使您可以编写更好、更高效、更灵活的会话管理代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5752858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档