Я пытаюсь увеличить время жизни сеанса в приложении 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.