Configuring the Directory where Session Files are Saved
Edit this pageWarning: You are browsing the documentation for Symfony 3.4, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
Configuring the Directory where Session Files are Saved
By default, Symfony stores session metadata on the filesystem. If you want to control
this path, update the framework.session.save_path
configuration key:
1 2 3 4 5
# app/config/config.yml
framework:
session:
handler_id: session.handler.native_file
save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services
https://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony
https://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<framework:config>
<framework:session handler-id="session.handler.native_file" save-path="%kernel.project_dir%/var/sessions/%kernel.environment%"/>
</framework:config>
</container>
1 2 3 4 5 6 7
// app/config/config.php
$container->loadFromExtension('framework', [
'session' => [
'handler_id' => 'session.handler.native_file',
'save_path' => '%kernel.project_dir%/var/sessions/%kernel.environment%'
],
]);
Storing Sessions Elsewhere (e.g. database)
You can store your session data anywhere by using the handler_id
option.
See Configuring Sessions and Save Handlers for a discussion of
session save handlers. There are also articles about storing sessions in a
relational database
or a NoSQL database.