WEBエンジニアのメモブログ

いろいろ書いていきます。このブログを見た人がなんらかのお役に立てば幸いです。

【PHP】PHPのセッションについて

ログイン機能を持たせるときに
セッション機能を使いますが PHPのセッションについて調べてみました。


php.iniの設定がデフォルトなら
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440

sessionの初期化処理が実行される時
1/1000の確率で24分(1440秒)以上アクセスされないsession情報を破棄。

もしテスト環境でデフォルトのphp.iniの設定の場合なら
いつまで経ってもsession timeout が発生しない可能生があります。

timeoutの確認をしたい場合は、/etc/php.iniを以下のように変更して、3分(180秒)後に、別sessionで同じアプリにアクセスしてからタイムアウトしてるかどうかを確認すればいいと思います。

session.gc_probability = 1
session.gc_divisor = 1
session.gc_maxlifetime = 180




なお、最近のフレームワークはここらへんを自由に設定できるいたいですね
便利!