检查是否阻塞写入会话
问题描述:
Php提供功能session_write_close
。我想检查会话是否已关闭。 session_id()
仍然返回值。检查是否阻塞写入会话
session_start();
//
// Some code there
//
session_write_close();
//
// Some code there
//
if(/*is session write closed?*/)
echo 'Session closed';
else
echo 'Session still opened';
答
所有你需要的是
session_start();
session_write_close();
var_dump(sessionStatus()); // this would return false
而且
session_start();
var_dump(sessionStatus()); // true
功能用于
function sessionStatus() {
if (function_exists('session_status')) {
return (session_status() == PHP_SESSION_ACTIVE);
}
return defined('SID');
}
+0
在我的系统(php 5.4.11和5.3.21)中,'SID'常数看起来像'session_id()'一样表现出来,它仍然被定义并在session_write_close()后面保存了session id。 – complex857 2013-03-01 17:14:42
你想杀了会议?如果是这样,那么还有其他一些方法可以做到这一点。请描述你的问题...... – Aborted 2013-03-01 13:41:10
'session_write_close()'帮助我修复一个错误。我发现了这个功能,现在我只是好奇,我想增加我对PHP会话的知识。这就是为什么我创造了这个问题 - 这是想象中的问题。 – Kasyx 2013-03-01 13:47:08