1

私は Cakephp 1.3 を使用しており、データベースにセッションを保存しています。

これまでに作成されたセッションは、「cake_sessions」テーブルから削除されていません。

CakePHP コアまたはプロセスがこのテーブルからセッション行をクリアするかどうか、またはこれを処理する必要があるかどうかを知りたいです。CakePHP コアまたはプロセスが自動的にこれを処理している場合、テーブルのセッション エントリがクリアされない理由として考えられるものは何ですか?

4

1 に答える 1

2

私はちょうどこの正確な質問をグーグルで調べています(あなたがそれを尋ねてくれてうれしいです)。#CakePHPIRCの開発者に尋ねなければなりませんでした。

どうやら、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)

少なくともこれはCakePHP2.xには当てはまりますが、1.3にも当てはまると思います。

于 2012-10-01T05:31:12.383 に答える