symfony2 session lifetime symfony2 session lifetime symfony symfony

symfony2 session lifetime


You can set the session expiration time in your config file under the framework section. Mine looks like this:

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

You can change the framework.session.lifetime value to anything you'd like, in seconds (it defaults to 3600, or 1 hour).

Reference here.


In Symfony 2.3 I think the right answer is found in app/config/config.yml:

framework:    session:        cookie_lifetime: 7200        gc_maxlifetime: 3600

GC (garbage collection) will be reset every time the server is hit, meaning if the user is active, he'll have 3600 to continue working. The cookie_lifetime will force the user to log out in its limit. In this example, the user will have one hour to be inactive and will be forced out in 2 hours.


To work comfortably you can set in dev environment a cookie_lifetime to 0, it means the cookie expires when the browser is closed.

File: config_dev.php

  framework:        session:            cookie_lifetime: 0