CakePHP2系のSessionを利用する際のCookieの有効期限(Session.timeout)の初期値

ちょうど調査する必要があったため、備忘録として。

CakePHPのセッション系の設定は、2系から

Configure::write('Session',
    array(
        'defaults' => 'php'
));

みたいに設定するようになったんだけど、
そこのtimeoutに設定される初期値がわからなかったので調べてみた。

とりあえず対象の記述は/lib/Cake/Model/Datasource/CakeSession.phpの_defaultConfig関数にある。

CakePHPでセッションを利用する場合以下の4タイプがあるわけだけど、

  • 「php」:session_save_pathで用意されたディレクトリ以下に溜める
  • 「cake」:アプリケーション内のapp/tmp/sessions配下にファイルで溜める
  • 「cache」:別で設定したキャッシュに溜める
  • 「database」:データベースに貯める

それぞれのセッションで利用するCookieの初期値は(Session.timeout)240分だった。

ちなみにこの内容を修正する場合は以下のように変更する

Configure::write('Session',
    array(
        'defaults' => 'php',
        'timeout' => 30
));

※timeoutに設定する値は秒単位ではなく分単位