【发布时间】:2012-11-02 12:50:00
【问题描述】:
由于某种原因,如果服务器空闲了一段时间,例如几个小时,第一次登录尝试将失败。
会发生这样的事情:
- 用户导航到登录脚本
- 脚本设置会话变量并重定向到主页
- 主页应该能够读取会话变量(但在这种情况下会失败)
PHP 错误日志中没有备注,第二次尝试正常。它仅发生在第一个用户在空闲期后访问该页面。例如,如果另一个用户在 5 秒后尝试登录,则一切正常。
这是在带有 PHP 5.3 的 IIS7 上使用 FastCGI。
任何想法这里出了什么问题或我可以做些什么来找到解决方案?
这就是脚本的大致设置方式 登录.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();一致地正确启动。