Недавно я перешел на Cake2.0, и у меня возникли проблемы с таймингом сеансов гораздо раньше, чем следовало бы.
Копирование примера из документации, я установил тип сеанса на php и установил время ожидания на 3 дня (4320 минут). Однако после прочтения различных статей кажется, что даже после установки таймаута на 3 дня в Cake, PHP может уничтожить сессию в GC, если в PHP.ini установлен более короткий таймаут для сессии или GC.
Итак, я изменил сеанс по умолчанию на торт с тем же тайм-аутом.
Configure::write('Session', array(
'defaults' => 'cake',
'timeout' => 4320,
));
Configure::write('Security.level', 'medium');
Однако, хотя это должно оставить меня в системе на 3 дня, я обнаружил, что едва получаю 3 часа, прежде чем мне нужно снова войти в систему.
Есть ли проблема с тайм-аутами сеанса, о которой я должен знать, или тайм-аут в секундах (не в минутах?), Или на него влияет Security.level, как в 1.3? Я не смог найти никакой подробной документации о том, как это работает в версии 2.0 или о том, что может вызывать проблемы.
Заранее спасибо.
Ответ: Для тех, кто придет позже и увидит это. В версии 2.0.5 есть ошибка, из-за которой тайм-аут сеанса не сохранял значение в Config.write();
Чтобы решить проблему, обновитесь до 2.0.6 (или 2.1, когда выйдет бета-версия)