Программно установить время жизни сессии в Symfony2 - PullRequest
2 голосов
/ 25 июня 2011

Я исследовал онлайн, но не смог найти ответ.В Symfony2 я понимаю, что можно статически установить время жизни сессии через файл config.yml.

Однако мне нужно иметь возможность установить время жизни сеанса на основе определенных ситуаций в моем коде.Можно ли программно установить время жизни сессии?

Ответы [ 2 ]

6 голосов
/ 25 июня 2011

Похоже, что в Symfony2 вы не можете изменить атрибуты контейнера хранения сеанса на лету: см. https://github.com/symfony/HttpFoundation/blob/master/SessionStorage/SessionStorageInterface.php для фактического интерфейса реализации, который доступен, и обратите внимание, что там нет ничего, что позволяло бы Вы меняете значение времени жизни.

Однако классы сеансов по умолчанию используют метод session_get_cookie_params для установки времени жизни сеанса: вы можете настроить эти значения, вызвав session_set_cookie_params (желательно до инициализации сеанса: попробуйте вызвать его как можно раньше насколько это возможно в контроллере). Посмотрите, работает ли это для вас.

0 голосов
/ 04 февраля 2012

В зависимости от случая (например, не для почтовых запросов с защитой csrf в форме), миграция также может использоваться:

$request->getSession()->migrate();

Согласно документации: «Переносит текущий сеанс на новый идентификатор сеанса, сохраняя все атрибуты сеанса».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...