Конфигурация каталога, где сохраняются файлы сессии¶
По умолчанию, Symfony сохраняет метаданные сессии в файловой системе. Если вы
хотите контролировать этот пусть, обновите ключ конфигурации framework.session.save_path
:
- YAML
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%'
- XML
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 http://symfony.com/schema/dic/services/services-1.0.xsd http://symfony.com/schema/dic/symfony http://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>
- PHP
1 2 3 4 5 6 7
// app/config/config.php $container->loadFromExtension('framework', array( 'session' => array( 'handler_id' => 'session.handler.native_file', 'save_path' => '%kernel.project_dir%/var/sessions/%kernel.environment%' ), ));
Хранение сессий в других местах (например, БД)¶
Конечно же, вы можете сохранять данные ваших сессий где угодно, используя опцию
handler_id
. Смотрите Configuring Sessions and Save Handlers,
чтобы прочитать дискуссию об обработчиках сохранения сессий. Также есть статью о
сохранении сессий в реляционной БД или
базе данных NoSQL.
Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.