Локальное и основное значение сеанса 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.

Другие вопросы по тегам