私は Cakephp 1.3 を使用しており、データベースにセッションを保存しています。
これまでに作成されたセッションは、「cake_sessions」テーブルから削除されていません。
CakePHP コアまたはプロセスがこのテーブルからセッション行をクリアするかどうか、またはこれを処理する必要があるかどうかを知りたいです。CakePHP コアまたはプロセスが自動的にこれを処理している場合、テーブルのセッション エントリがクリアされない理由として考えられるものは何ですか?
私は Cakephp 1.3 を使用しており、データベースにセッションを保存しています。
これまでに作成されたセッションは、「cake_sessions」テーブルから削除されていません。
CakePHP コアまたはプロセスがこのテーブルからセッション行をクリアするかどうか、またはこれを処理する必要があるかどうかを知りたいです。CakePHP コアまたはプロセスが自動的にこれを処理している場合、テーブルのセッション エントリがクリアされない理由として考えられるものは何ですか?
私はちょうどこの正確な質問をグーグルで調べています(あなたがそれを尋ねてくれてうれしいです)。#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にも当てはまると思います。