2012-02-14 24 views
4

最近Cake2.0に切り替わり、Sessionsのタイムアウトに関する問題がはるかに早く解決していました。セッションのタイムアウトがCakePHP 2.0であまりにも遅い

例をdocumentationからコピーして、セッションタイプをphpに設定し、タイムアウトを3日(4320分)に設定しました。しかし、いろいろな記事を読んだ後で、Cakeで3日のタイムアウトを設定しても、PHP.iniがセッションやGCのタイムアウトが短く設定されていると、PHPがGCでセッションを破壊する可能性があります。

したがって、セッションのデフォルトをケーキに変更しました。タイムアウトは同じです。

Configure::write('Session', array(
    'defaults' => 'cake', 
    'timeout' => 4320, 
)); 

Configure::write('Security.level', 'medium'); 

しかし、これで3日間ログインする必要がありますが、もう一度ログインする必要はほとんどありません。

私は注意すべきセッションタイムアウトに問題がありますか、または分単位でのタイムアウト(分ではありません)か、1.3のようなSecurity.levelの影響を受けていますか?私は、2.0でどのように動作するか、または何が問題を引き起こしているかについて、何らかのハード・ドキュメントを見つけることができませんでした。

ありがとうございます。

回答: 後で来て、これを見ている人のために。セッションのタイムアウトがConfig.write()の値を保存していなかったバグが2.0.5にあります。 (それはベータ版を離れたとき、または2.1)を使用すると、セキュリティコンポーネントを使用している場合は

+0

ニース知りたい!解決策を使用して質問を更新していただきありがとうございます。 –

+0

奇妙なことに、私はまだ2.0.6でこのバグを手に入れています... –

答えて

1

、2.0.6へのアップデートを解決するために、あなたはいつものようにも3時間にそれらの有効期限を変更してみてください:

$components = array(
    'Security' => array(
     'csrfExpires' => '+3 hour' 
    ) 
); 

これはいい考えですが、問題の絞り込みに役立ちます。セキュリティコンポーネントを使用している場合、これはおそらく問題です。

また、Session.timeoutは分単位で表示されます(秒単位ではありません)。

関連する問題