ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PHP:セッションのタイムアウトがよくわからない

session関係の設定をして気がついたこと。

f:id:AJYA:20120820212826j:plain

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ブラウザで使い続けるかぎり、セッションファイルは削除されないので、セッションが切れず使い続けることができるようだ。