Symfony2 — хранилище сессий не работает

Я разработал приложение symfony2 с FOSUserBundle и HWIoauthBundle для обработки входа и регистрации пользователя. Все отлично работает в среде localhost.

На рабочем сервере папки кеша и журналов доступны для записи, кеш очищается — также используется команда разминки — ресурсы установлены.

Приложение также, кажется, работает, я вижу контент из базы данных и могу вставлять данные там, где не требуется вход пользователя.

Попытка войти в систему с известным пользователем / пассом просто возвращает на ту же страницу входа, без ошибок или чего-либо еще. Регистрация нового пользователя возвращает ошибку о том, что токен csfr недействителен. Маркер CSFR доступен в виде скрытого поля в форме.

Я искал последние несколько часов в Интернете, чтобы найти похожие ошибки, но ни одной из них с полезным ответом.

Рабочий сервер — это машина с Linux, работающая параллельно с прокси Nginx.

Если вам нужна какая-либо конфигурация, пожалуйста, спросите меня, чтобы я мог ее предоставить.

1

Решение

Причины более существенных ошибок, отсутствие ответа при входе в систему, неправильные токены.
Похоже, проблема сеанса.

Оказывается, что откат к конфигурации хранения сеанса в php.ini не является отказоустойчивым.
Поэтому я добавил код ниже в config.yml:

session:
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/sessions"

Затем добавили папку «сессий» и очистили кеш продукта env.
Теперь все работает как надо.

Надеюсь, что это может помочь другим!

1

Другие решения

Это может быть крайний случай, но я потерял хранилище сеанса, когда коллега изменил «session_prefix» на значение, в котором был пробел.

session_prefix: 'This will break'
0

По вопросам рекламы [email protected]