Zend_Session_Handler_DbTable を使用してセッション データをデータベースに保存しようとしていますが、期限切れのセッションがデータベースから削除されることはありません。
ファイルベースのセッションを削除するcronジョブ(ubuntu)が実行されているのを確認できますが、dbに保存されているセッションでgcがどのように機能するかわかりませんでした。
Zend_Session_Handler_DbTable を使用してセッション データをデータベースに保存しようとしていますが、期限切れのセッションがデータベースから削除されることはありません。
ファイルベースのセッションを削除するcronジョブ(ubuntu)が実行されているのを確認できますが、dbに保存されているセッションでgcがどのように機能するかわかりませんでした。
このクラスには、を呼び出したときに PHP に渡さZend_Session_SaveHandler_DbTable
れるガベージ コレクション メソッドが呼び出されます。gc
session_set_save_handler
Zend_Session::setSaveHandler()
この関数は、php.ini の値とgc
に基づいて定期的に呼び出される必要があります。これらの値が、ある時点でガベージ コレクションが実行されるような値に設定されていることを確認してください。session.gc_probability
session.gc_divisor
また、デフォルト関数はこれらの列を使用して、セッション テーブル内のどの行が古く、削除する必要があるかを判断するため、DbTable 保存ハンドラを作成するときにmodifiedColumn
およびオプションを必ず指定してください。lifetimeColumn
gc