私はCakePHP 2.4.3を使っていますが、今は30分ほど休止してからログアウトしています。私は、サイトを離れるときでさえ(ブラウザを閉じないで)を2,3時間ほど続けても、セッションが長く続くように(またはFacebookのようにできるだけ無限に)したい。CakePHPでセッションを無限にするにはどうすればいいですか?
私はアプリ/コンフィグ/ core.phpのが、これらのこれまで働いていたのどれに次のことを試してみた:
テスト#1:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 60, // The session will timeout after 60 minutes of inactivity
'cookieTimeout' => 4320, // The session cookie will live for at most 3 days, this does not effect session timeouts
'checkAgent' => false,
'autoRegenerate' => true, // causes the session expiration time to reset on each page load
));
テスト#2:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 2160, // 36 hours
'ini' => array(
'session.gc_maxlifetime' => 129600 // 36 hours
)
));
試験番号3:
Configure::write('Session', array(
'defaults' => 'php',
'cookieTimeout' => 0
));
Configure::write('Security.level', 'medium');
cakephpサイトのスクリプト自体が動作しないとき(テスト2)、何が起こっているのか分かりません。私はログインし、他のサイトをチェックしてから1時間後にそれに戻ってログアウトします。 CakePHPでセッションを無限にするにはどうしたらいいですか? AppControllerでのごafterFilterアクションでこれを入れ
あなたのタイムアウトに達する前に、PHPはセッションをフラッシュします。これは、共有ホスティングマシンと大量のトラフィックで発生する可能性があります。私は通常セッションを保存するために独自のディレクトリを使います: 'session_save_path( '/ path/to/www/session.collection')'。 –