[英]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.