2013-02-13 2 views
0

Я пытаюсь увеличить продолжительность сеанса в приложении cakephp. У меня есть флажок remember me на странице входа. При проверке флажка мне нужно увеличить время сеанса до 1 часа до текущего времени и любое действие внутри приложения после входа в систему, чтобы увеличить время сеанса до 1 часа.Как увеличить время жизни сеанса в cakephp?

У меня есть компонентный файл для входа в систему, и все действия будут введены в стартовой функции. Я попытался продлить срок службы session.cookie (CakePHP's session 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 в сессии тайм-аута) времени. Сессия status и test varaibles создаются при входе в систему. Он будет получен до тех пор, пока session.timeout не будет достигнут.

Я использую cakephp v1.2.

+1

я думаю, что это может помочь у http://stackoverflow.com/questions/3564217/auth-timeout-problems -with-cakephp –

+0

Совет: http://www.dereuromark.de/2012/02/02/more-persistent-sessions-in-cake2-x/#insight – mark

ответ

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 ** версия. Я уже пробовал с этими изменениями в ядре без успеха. –

0

Не рекомендуется поддерживать очень высокий тайм-аут сеанса. Если ваше требование только, чтобы держать его в журнале для больше времени, а затем использовать некоторый auto_login компонент, как www.milesj.me/resources/script/auto-login