使用Zend_Session_Handler_DbTable时的垃圾收集

Opt*_*mus 2 zend-framework zend-session

我正在尝试使用Zend_Session_Handler_DbTable将会话数据保存到数据库,但据我所知,过期的会话永远不会从数据库中删除.

我可以看到运行的cron作业(ubuntu)删除了基于文件的会话,但我找不到gc如何处理在db中保存的会话.

dre*_*010 6

Zend_Session_SaveHandler_DbTable班有一个叫做垃圾收集方法,gc它通过给PHP session_set_save_handler当你打电话Zend_Session::setSaveHandler().

gc功能应该得到基于php.ini中值周期性地调用session.gc_probabilitysession.gc_divisor.确保将这些值设置为可能导致在某个时刻运行垃圾收集的值.

还要确保在创建DbTable保存处理程序时指定modifiedColumnlifetimeColumn选项,因为默认gc函数使用这些列来确定会话表中的哪些行是旧的并且应该删除.