время жизни сессии symfony2 - PullRequest
29 голосов
/ 09 мая 2011

У меня была проблема с компонентом сеанса symfony2.Я установил некоторые данные для сеанса через контейнер сеанса, например:

$sess = $this->get( 'session' );
$sess->set( 'some_key', 'some_value' );

Но через некоторое время (около 15-20 минут) сеанс потерян.параметр времени жизни?Для меня идеальным вариантом было бы, если бы я мог установить определенное время сеанса в прямом эфире ... Кто-нибудь может помочь, пожалуйста?

Ответы [ 3 ]

52 голосов
/ 10 мая 2011

Вы можете установить время истечения сеанса в файле конфигурации в разделе framework. Моя выглядит так:

config.yml

framework:
  secret:        %secret%
  charset:       UTF-8
  error_handler: null
  csrf_protection:
      enabled: true
  router:        { resource: "%kernel.root_dir%/config/routing.yml" }
  validation:    { enabled: true, annotations: true }
  templating:    { engines: ['twig'] } #assets_version: SomeVersionScheme
  session:
      default_locale: %locale%
      cookie_lifetime: 3600 // was "lifetime" but deprecated
      auto_start:     true

Вы можете изменить значение framework.session.lifetime на любое значение в секундах (по умолчанию 3600 или 1 час).

Ссылка здесь .

33 голосов
/ 25 октября 2013

В Symfony 2.3 я думаю, что правильный ответ находится в app / config / config.yml:

framework:
    session:
        cookie_lifetime: 7200
        gc_maxlifetime: 3600

GC (сборщик мусора) будет сбрасываться каждый раз при попадании на сервер. Это означает, что если пользователь активен, у него будет 3600 для продолжения работы. cookie_lifetime заставит пользователя выйти из своего лимита. В этом примере у пользователя будет один час, чтобы он был неактивен, и он будет вынужден выйти через 2 часа.

4 голосов
/ 30 октября 2014

Для комфортной работы вы можете установить в среде разработчика значение cookie_lifetime to 0, это означает, что срок действия файла cookie истекает при закрытии браузера.

Файл: config_dev.php

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