Локальное и основное значение сеанса Symfony 2.1 (читайте на phpinfo)
У меня проблемы с сессиями, когда я начал миграцию с Symfony 2.0 на Symfony 2.1.
Я использую simplesamlphp для аутентификации, и все работало нормально на Symfony 2.0.
На Symfony 2.1 это не нормально. Я проверил различия между ними на phpinfo->session и вот что я получил:
symfony2.1 symfony 2.0 Master Value
session.save_handler user files files
session.save_path (..)/symproject/app (..)/wamp/tmp (..)/wamp/tmp
/cache/dev/sessions
Эти значения должны быть равны php.ini, так как это требуется simplesaml!
Я мог бы установить framework:session:save_path
свойство на config.yml, но я думаю, что это не очень хорошая практика, поскольку путь сохранения может отличаться в зависимости от того, нахожусь ли я на моей локальной машине разработки или нет (у меня есть проект на git).
И насчет save_handler я не мог найти вау, чтобы указать его на config.yml. Я придерживаюсь "пользователя" на этом?
Что происходит в этой версии Symfony? В Symfony 2.0 это было из коробки! Пожалуйста помоги. Там нет приличной документации по этому (поверьте мне, я смотрел!!).
1 ответ
Наконец-то я понял!
В Symfony 2.1 по умолчанию установлены драйверы Native *. И это переопределяет конфигурации, существующие на php.ini.
Если вы хотите использовать конфиги php-ini, вы должны пройти null
к NativeSessionStorage
конструктор для обработчика арг.
Это делается путем помещения следующих конфигураций в config.yml:
framework:
session:
handler_id: ~
Подробнее об этом решении можно прочитать здесь.
Эта информация отсутствует в документации документирования и обновления Symfony.