由于某些原因,如果服务器闲置一段时间(例如几个小时),第一次登录尝试将失败。如果服务器空闲,php会话首次尝试失败
这是发生了什么:
- 用户导航到登录脚本
- 脚本设置会话变量并重定向到主画面
- 的主页应该能够读取会话变量(但在这种情况下失败)
没有在PHP错误日志中的言论,第二次尝试正常工作。只有第一个用户在空闲时间之后访问页面才会发生。例如,如果另一个用户在5秒后尝试登录,则一切正常。
这是在使用FastCGI的PHP 5.3的IIS7上。
任何想法这里有什么不对或我能做些什么来找到解决方案?
这是大致了解脚本是 的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
}
我只能说,检查你的代码。如果您可以粘贴您的代码,我们可以为您检查它。 –
我同意@AbhishekSaha。但是到目前为止我的理解是,您可能需要检查会话是否在每个需要会话的页面上使用'session_start();'始终正确启动。 – Ariaan