2011-02-17 54 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");