2007年04月13日

CakePHPのセッションのタイムアウトの設定

app/config/core.phpに
define('CAKE_SESSION_TIMEOUT', '120');

がありこれを変更すればタイムアウト時間を変更できる。

注意しなければならないのは、デフォルト値は120となっているがこれは120秒という意味ではない。

CakePHPのセションのタイムアウト時間の設定値は、
CAKE_SECURITY * CAKE_SESSION_TIMEOUT

から導き出される。

つまりデフォルトの場合、CAKE_SECURITYは
define('CAKE_SECURITY', 'high');

と設定されており
120*10=1200秒

ということになるのだ。

CAKE_SESSION_TIMEOUTの定義のコメント欄には英語で
high: multiplied by 10
medium: is multiplied by 100
low is: multiplied by 300

書かれており、highの場合10、mediumの場合100、lowの場合300をCAKE_SESSION_TIMEOUTに掛け合わせますよと書かれているのだが見落としてしまいがちだ・・・

120秒でリロードしてもまだ値が残っている。どうして?と思ったらこういうことだったのか・・・

マニュアルでも
11.2. CakePHP コアで定義された定数に一行さりげなく
CAKE_SESSION_TIMEOUT: セッションタイムアウトまでの秒数。この値は、 CAKE_SECURITY を掛け算したものになります。

と書かれているが

結構紛らわしいので要注意!!
自分の場合、ブラウザのキャッシュやらPHPの設定やらあれやこれや疑って時間を浪費してしまいました。。。
ラベル:cakephp PHP
posted by asaton at 12:58| Comment(3) | TrackBack(0) | CakePHP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
参考にさせていただきました!
ありがとうございます^^
Posted by Yokokawa at 2010年03月30日 19:21

Hしてお金もらえるって最高だな!!!!
ぶっちゃけテキトーにやっても月30万越えとか余裕だし(笑)

もう仕事辞めて、これ一本で食ってくわ!!!!(* ̄ー ̄)v
http://goo.gl/q3XS
Posted by 天職見つけた!!!! at 2010年10月02日 14:52
Thanks!ありがとうございます。
Posted by Ak at 2012年04月27日 01:04
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。