我是FriendsOfSymfony UserBundle的新手,在嘗試註銷用戶之前,一切都進行得很順利。登錄工作正常,我正在使用我在許多網站上看到的基本配置。我只有2個用戶需要登錄。當用戶點擊註銷URL時會出現問題。在這種情況下/註銷。我在瀏覽器中發現了一個通用服務器錯誤,並且error_log顯示「腳本頭的提前結束:app_dev.php」。如果我在錯誤頁面上進行刷新,它會返回到我的主頁,並且我已成功註銷。註銷鏈接命中時FOS UserBundle服務器錯誤
這裏是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
這裏是security.yml的ACCESS_CONTROL部分:
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 }
這裏是config.yml的fos_user部分
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)"} []
搜索這個最初表示,這是不是擔心,但我出其他的想法。這是我獲得安全工作的最後一項任務,它讓我感到害怕。
我會很樂意提供任何其他信息來幫助解決這個真正煩人的問題。預先感謝您的幫助。
什麼是你的PHP版本? – rpg600
我正在運行5.4.4-14 + deb7u2 – akwebb1