1
我存儲我的所有會話與此數據庫中的application.ini在application.ini中設置Zend Framework DB垃圾收集? (和引導?)
/* Session */
resources.session.use_only_cookies = on
resources.session.gc_maxlifetime = 864000
resources.session.remember_me_seconds = 864000
resources.session.cookie_lifetime = 864000
resources.session.name= "sessionName"
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
resources.session.saveHandler.options.name = "sessions"
resources.session.saveHandler.options.primary = "id"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"
的會話過期未在數據庫中刪除。我錯過了什麼?應該有什麼東西在引導?如果任何人都可以幫助它,將不勝感激。謝謝。
謝謝您的回覆。看着這個,如果我提供sessionid,它似乎只會銷燬或重新啓動會話。如果兩個星期過去了,這個人再也不會回來了?我沒有sessionid來提供它。我環顧四周,有一個gc_maxlifetime和gc_dividor等,它使用垃圾收集器來擺脫過時的會話。我是否誤解了數據庫表中自動過期的概念,並且必須調用函數以明確過期?也許用cronjob? – Darius
如果您仔細考慮過,保存處理程序無法知道會話是否已過期,直到它嘗試以某種方式訪問該會話。所有到期數據保存在數據庫或cookie中後。因此,像cron作業這樣的維護操作將是處理數據庫清理的最實用方法。 – RockyFord