![](/img/trans.png)
[英]How do I detect when a user has been idle for a certain time and destroy their session in PHP?
[英]php session fails on first attempt if server has been idle
由于某种原因,如果服务器闲置了一段时间(例如几个小时),则首次登录尝试将失败。
这是发生了什么:
PHP错误日志中没有任何注释,第二次尝试可以正常进行。 只有在闲置时间之后,第一个访问页面的用户才会发生这种情况。 例如,如果另一个用户尝试在5秒后登录,则一切正常。
这是在使用FastCGI的IIS7和PHP 5.3上。
有什么想法在这里有什么问题,或者我可以找到解决方案吗?
大致是通过login.php设置脚本的方式:
@session_start();
$_SESSION['userid'] = $userid;
session_write_close();
session_unset();
usleep(200000);
header('Location:index.php');
主脚本
session_start();
if (isset($_SESSION['userid'])) {
// Login successful
}
删除三行。
session_write_close();
session_unset();
sleep(200000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.