PHP:セッションのタイムアウトがよくわからない
session関係の設定をして気がついたこと。
photo credit: Ian-S via photo pin cc
ことの発端
Webのシステムになって、ログインして放置しているとセッションが切れるんだろうけど、実際どれくらいの時間で切れるんだろうという話になったので試してみた。
試した内容
こちらの内容を参考に、
php_value session.gc_maxlifetime 60 php_value session.gc_probability 1 php_value session.gc_divisor 1
として、ログイン後念のため2分経ってから、session_start()を呼び出す処理にアクセスしたが、 $_SESSIONには設定した値が残っている。なんど試しても変わらない。
別のパソコンのブラウザでログインをすると、セッションファイルが削除されていた。
今回学んだこと
セッションファイルは、別のセッションが開始されたときに、ガベージコレクションを起動するかどうか判断されるらしい。
1ブラウザで使い続けるかぎり、セッションファイルは削除されないので、セッションが切れず使い続けることができるようだ。