我正在尝试修复我的登录脚本,在我的本地主机上它工作,但上传到我的在线测试服务器,注销是中断的,我得到这个错误:
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不太确定是什么导致了它,因为它在我的本地主机上工作,有什么想法吗?
发布于 2011-04-22 14:32:57
session_start();
session_destroy(); /*or sesion_unset();*/发布于 2011-04-22 14:31:58
要使session_destroy正常工作,必须使用session_start启动会话。
发布于 2014-08-22 05:38:48
如果您只需要删除会话(例如,在名为退出/注销/析构函数的自动脚本中),并且它可能存在,也可能不存在,那么您可以使用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. 这使您可以编写更好、更高效、更灵活的会话管理代码。
https://stackoverflow.com/questions/5752858
复制相似问题