FOS UserBundle ошибка сервера при попадании ссылки на выход
Я новичок в пользовательском сообществе FriendsOfSymfony, и все шло хорошо, пока я не попытался выйти из системы. Вход в систему работает отлично, и я использую базовую конфигурацию, которую я видел на многих сайтах. У меня есть только 2 пользователя, которым нужно войти в систему. Проблема возникает, когда пользователь нажимает на URL-адрес выхода из системы. В этом случае /выход из системы. Я получаю общую ошибку сервера в браузере, и в журнале ошибок отображается "Преждевременное завершение заголовков сценариев: app_dev.php ". Если я нажму обновить при ошибке страница он возвращается на мою домашнюю страницу, и я успешно вышел из системы.
Вот мой раздел брандмауэра в security.yml:
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
check_path: fos_user_security_check
csrf_provider: form.csrf_provider
logout: true
anonymous: true
Вот раздел access_control в security.yml:
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel:https }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/logout, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
Вот раздел fos_user в файле config.yml
fos_user:
db_driver: orm
firewall_name: main
user_class: Wielding\BassBundle\Entity\User
Я генерирую URL-адрес выхода из системы в своей форме ветки с помощью:
<a href="{{ path('fos_user_security_logout') }}">logout</a>
Если я не вошел на сайт и перешел вручную по URL-адресу выхода, я перенаправляюсь обратно на страницу индекса по умолчанию без каких-либо ошибок. Если я вошел в систему и вручную введите URL-адрес выхода из системы, я получу сообщение об ошибке сервера. Я перепробовал так много вариантов изменений конфигурации, что даже не могу перечислить их здесь. Все они потерпели неудачу.
Я даже попытался написать свой собственный выход из системы, сделав недействительным сеанс в контроллере, и это привело к той же ошибке.
Моя единственная подсказка на данный момент - это запись в dev.log:
[2013-07-27 14:51:26] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\ContextErrorException: "Warning: SessionHandler::write(): Parent session handler is not open in /home/dev2/app/cache/dev/classes.php line 407" at /home/dev2/app/cache/dev/classes.php line 407 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ContextErrorException: Warning: SessionHandler::write(): Parent session handler is not open in /home/dev2/app/cache/dev/classes.php line 407 at /home/dev2/app/cache/dev/classes.php:407)"} []
Поиск по этому вопросу изначально показал, что беспокоиться не о чем, но у меня нет других идей. Это моя последняя задача в заставляю охрану работать, и это выводит меня из себя.
Я с радостью предоставлю любую другую информацию, необходимую для решения этой действительно раздражающей проблемы. Заранее благодарю за любую помощь.
1 answers
Это ошибка PHP. Вам необходимо обновить php до minium 5.4.11.
Ссылка: