2011-02-17 57 views
3

我想知道會話過期時是否可以將會話數據恢復到數據庫或文件中。例如,當我的會話中有一個對象存在時,會話過期時會調用析構函數嗎?在會話過期時將會話變量保存到數據庫

基本上問題是關於PHP如何處理會話到期時的處理。

感謝您的幫助!

回答

2

它看起來像你可以使用session_set_save_handler函數來定義一個回調,每當會話被銷燬時被調用。

作爲一個附註,我會質疑在會話超時時是否保存數據的好設計,而不是在會話期間保存數據。

+0

但是,這僅適用於會議中使用的當前請求。它不會被垃圾收集器的舊會話調用。 – 2011-02-17 16:29:01

0

要更改會話的最大壽命試試這個:

ini_set("session.gc_maxlifetime", "18000"); 

這將壽命設定爲5小時。您必須在每個要更改其默認生命週期的腳本中使用此腳本。

爲了得到一個會話的生存期:

echo ini_get("session.gc_maxlifetime");