CakePHP 数据库会话是否自动神奇地清理了



我正在使用Cakephp 1.3并将会话保存在我的数据库中。

到目前为止,尚未从"cake_sessions"表中清除任何已创建的会话。

我想知道 CakePHP 核心或进程是否从此表中清除会话行,或者我是否需要处理这个问题。如果 CakePHP 核心或进程自动神奇地处理这个问题,那么我的表中的会话条目没有被清除的可能原因是什么/

我刚刚在谷歌上搜索了这个确切的问题(很高兴你问了它)。 不得不问 #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。

最新更新