Debianおよび派生物(Ubuntu)は、phpセッションのガベージコレクターを使用しません
session.gc_probability = 0
代わりに、cron /etc/cron.d/php5を使用します
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
Debianがこれを選択した理由は?
Debianは/var/lib/php5
(1733、所有者ルート、グループルート)に非常に厳しい権限を設定してPHPセッションハイジャックを防ぎます。残念ながら、これによりネイティブのPHPセッションガベージコレクターは、セッションファイルをそこに表示できないため、機能しません。cronジョブはrootとして実行され、セッションファイルを表示してクリーンアップするための十分なアクセス権があります。
Edit:サポートドキュメント: bug#26772 に応じて動作が確立されました。 (これについては、ストックphp.ini
ファイルに以前はコメントがありましたが、wheezyベースのPHPインストール)には表示されません。)
トラフィックの少ないサイトでは少し信頼性が高くなる可能性が高く(1日あたり数百のヒットしかなく、GCが1000ごとにしか起動しない場合、セッションは必要以上に長く留まる可能性があります)、私はそれがセッション数が多い場合、サーバーでの負荷はネイティブGCよりも少し低くなります。