2010-10-18 124 views
1

我需要刪除數據庫中的舊用戶數據,如果用戶會話超時瞭解會話超時(php)

如何使用PHP解決此問題?

+0

我認爲你應該重新提一下這個問題,它對你到底想要做什麼感到困惑。 – 2010-10-18 13:38:38

回答

1

您可以將session_key存儲在數據庫中的行中,然後自行定義時間限制。然後創建一個cronjob,刪除所有使用session_key的行,這些行尚未在您的限制範圍內使用。

默認會話持續到瀏覽器關閉,因此您無法知道會話處於活動狀態的秒數。即使會話關閉,會話也不會被刪除,直到垃圾收集器將其刪除。

0

當會話超時時,無法添加代碼以運行。你必須自己想出一個方案。 我建議在您的數據庫記錄中添加時間戳並在每次訪問數據時更新它。然後通過cron通過一個腳本遍歷記錄並刪除那些比會話超時更早的腳本。

1

您可以設置會話超時時間。說30分鐘。

sesssion_gc_maxlifetime

您可以檢查用戶的登錄時間。

但是如果你想刪除的數據,更好地保持會話的DB或至少

保持狀態,登錄或註銷和登錄時間和註銷時間在DB

這將是安全的

所以,你可以根據登錄時間和電流爲TimeDifference刪除數據

設置一個cron作業運行在30分鐘內;或者你希望的任何時間