Как увеличить время жизни сессии в cakephp?

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

У меня есть файл компонента для входа в систему, и все действия будут выполняться в функции запуска. Я попытался продлить время жизни session.cookie(файл cookie сеанса CakePHP), но это не сработало.

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 создаются при входе в систему. Он будет извлекаться до тех пор, пока не будет достигнуто session.timeout.

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


person Justin John    schedule 13.02.2013    source источник
comment
я думаю, это может помочь вам stackoverflow.com/questions/3564217 /   -  person Alireza Rahmani khalili    schedule 13.02.2013
comment
Совет: dereuromark.de/2012 /02/02/more-persistent-sessions-in-cake2-x/   -  person mark    schedule 31.07.2013


Ответы (2)


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

person nithin    schedule 01.10.2013

person    schedule
comment
В первую очередь это синтаксис версии Cakephp v2.x. Я уже пробовал с этими изменениями в ядре безуспешно. - person Justin John; 06.03.2013