I had a problem with symfony2 session component. I set some data to session through session container like this:
$sess = $this->get( 'session' ); $sess->set( 'some_key', 'some_value' );
But after a little bit of time (about 15-20 minutes) the session got lost.
Can I set session life time parameter? The perfect variant for me would be if I can set certain time of session live period...Can anybody please help?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With