2013-02-13 74 views
0

我想增加cakephp應用程序中的會話生存期。我在登錄頁面有一個remember me複選框。在選中複選框時,我需要將會話時間延長至當前時間的1小時,並且登錄後應用程序內的任何操作都需要將會話時間延長至1小時以上。如何增加cakephp中的會話生命時間?

我有用於登錄的組件文件,所有操作都將在啓動功能中輸入。 我試圖擴展session.cookie(CakePHP的會話cookie)生存期,但它沒有奏效。

function startup(&$controller) { 
    /* First try */ 
    setcookie(Configure::read('Session.cookie'),$_COOKIE[Configure::read('Session.cookie')], time() + 3600, "/"); // Configure::read('Session.cookie') is 'CAKEPHP'. 
    /* Second try */ 
    ini_set('session.gc_maxlifetime', 3600); 
    /* Third try */ 
    session_set_cookie_params(time() + 3600); 

    echo $this->Session->read('status').' session <br/>'; 
    echo $_SESSION['test']; 
} 

但所有這些session.timeout(CakePHP的會話超時)的時間後不保持會話。會話statustest變量在登錄時創建。它將被檢索,直到沒有達到session.timeout

我正在使用cakephp v1.2

+1

我認爲這可以幫助ü http://stackoverflow.com/questions/3564217/auth-timeout-problems -with-cakephp – 2013-02-13 08:36:33

+0

提示:http://www.dereuromark.de/2012/02/02/more-persistent-sessions-in-cake2-x/#insight – mark 2013-07-31 07:51:59

回答

0
keep this in your core.php file 
Configure::write('Session', array(
     'defaults' => 'cake', 
      'timeout' => 14400, // 4 hours 
      'cookieTimeout' => 14400, // 4 hours 
      'cookie' => 'Your Cookie Name', 
      ) 
     ); 
+1

首先,這是Cakephp ** v2的語法。 x **版本。我已經嘗試了這些核心的變化,但沒有成功。 – 2013-03-06 06:06:55