我正在使用CakePHP 2.4.3,現在它在大約30分鐘處於不活動狀態後將我註銷。我希望會話持續更長時間(或者像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),現在發生了什麼事情。我登錄後,檢查其他網站,然後在一小時後回到網站,然後註銷。如何使CakePHP中的會話無限(或者至少更長時間,即使在非活動狀態下)?
請記住,PHP會在超時達到之前刷新會話。這可能發生在共享主機和大量流量上。我通常使用自己的目錄來存儲會話:'session_save_path('/ path/to/www/session.collection')'。您必須自己清理它們(例如,使用cron作業) –