SESSIONの有効時間
2011/10/12 | PHPの基本
セッションの有効時間の設定ってどうやるんだっけ、と毎回調べるのでメモする。
セッション時間の根本的な設定として、以下の3項目がある。
- session.gc_maxlifetime
ガベージコレクションされるまでの時間(秒)
デフォルト値:1440 - session.gc_probability
ガベージコレクション時に、ガベージコレクションする確率を設定する(分子)
デフォルト値:1 - session.gc_divisor
ガベージコレクション時に、ガベージコレクションする確率を設定する(分母)
デフォルト値:100
上記3つは、以下の文章で表すことが出来る。
セッションは少なくとも(1)で指定した時間はキープされる。(1)で指定した時間が経過すると、(2)を(3)で割り算した値(確率)で破棄される。デフォルト値でいうと、1440秒間は間違いなくセッションが有効だが、それを過ぎると1/100の確率でセッションが破棄される、ということになる。