[Symfony1.4]factories.ymlでtimeoutを設定してるのに30分でセッション切れ現象が

C789_tokeiwokakuninsurudansei

先週のぶらぶら部の日記を書こうと思い、早1週間が経過してしまいました。

記事は明日明後日で書きますすみません。

その前に、技術メモ。

自社Webアプリのセッションタイムアウト時間を伸ばそうと言う事で、factories.ymlにタイムアウト秒を以下の通り設定してました。

user:
  param:
    timeout: 28800

よっしゃ!これで8時間はログアウトせーへん!勝つる!

と思っていた矢先

( ’`)<これ30分無操作でセッション切れちゃうんだけど…。

ななななんですとー!!

と思って調べていたらこんな記事が。

[symfony]symfonyのユーザ自動ログアウトとセッションタイムアウトについて

factories.yml 設定ファイル (1_4) – Symfony1.4

予期せぬふるまいに遭遇しなくてすむように、ユーザークラスはセッションガベージコレクタの有効期限の最長 (session.gc_maxlifetime) をタイムアウトよりもはるかに長く設けます。

symfony.com

あれっと思ってサーバのphp.iniを確認したら…

session.gc_maxlifetime=86400

KO☆RE☆DA

と言う訳で、結局30分くらいでSymfonyでのログイン状態が解除されてしまうのは、php.iniのsession.gc_maxlifetimeが原因でした。

その後値をさらに上げてiPhoneでタイマーを40分にセットして、カップラーメンを13個を作った所で動作確認。

うん、問題無しです。

それにしても86400秒(24分)って、なんでこんな微妙な数値に…。

とりわけ、原因がわかってよかったよかった。

ちなみに、この記事は電車の中から書きました。

mac book airがほしいれす。


  1. コメントはまだありません。

  1. トラックバックはまだありません。