Php 警告:会话_destroy()?

Php 警告:会话_destroy()?,php,session,Php,Session,我正在尝试修复我的登录脚本,在我的本地主机上它可以工作,但已上载到我的在线测试服务器,注销被破坏,我收到以下错误: 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

我正在尝试修复我的登录脚本,在我的本地主机上它可以工作,但已上载到我的在线测试服务器,注销被破坏,我收到以下错误:

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

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

为了工作,必须使用启动会话。

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

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

if(session_status() == PHP_SESSION_ACTIVE)
{
    session_destroy();
}
这比创建一个新节只是为了以后销毁它更可取

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

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. 

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

您能展示logout.php的代码吗?会话销毁前是否有任何输出?另外,localhost中的PHP报告级别是什么。如果设置为忽略警告,则不会显示这些消息。您好,请检查是否有任何输出显示为标题,在执行会话之前,您应该在php gud luckThat上启动会话,该会话有效:)谢谢,有什么原因可以解释它在我的本地主机上工作,即使没有
session\u start()
?可能您使用了错误报告(0),它强制隐藏错误或在PHP.INI中设置自动启动所有页面中的会话!或者已经包含了一个您已开始会话的页面!明白了,谢谢:),顺便说一句,我看到了你的ultra light论坛链接,你有一个打字错误,上面写着“可以回复乌瑟的主题。”**AuthorThat:)谢谢,有什么理由它可以在我的本地主机上工作,即使没有
session\u start()
??你也可以使用session.auto\u start配置指令
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.