我正在使用Cakephp 1.3并在我的数据库中保存会话。
到目前为止,没有任何已创建的会话已从'cake_sessions“表中清除。
我想知道CakePHP核心或进程是否从此表中清除会话行,或者我是否需要处理此问题。如果CakePHP核心或进程自动神奇地处理这个问题,那么我的表中的会话条目没有被清除的可能原因是什么/
答案 0 :(得分:2)
我一直在谷歌搜索这个确切的问题(很高兴你问了)。不得不在#CakePHP IRC上询问开发人员。
显然在PHP触发垃圾收集时清理数据库。默认情况下,这大约是每1,000个请求。您可以通过设置session.gc_divisor
。
ini_set('session.gc_divisor', 1000); // this is the default
ini_set('session.gc_divisor', 1); // this will run GC on every request
// (helpful for debugging)
至少对于CakePHP 2.x来说也是如此,但我怀疑它也适用于1.3。