注销不重定向 - Symfony2

Logout doesn't redirect - Symfony2

注销成功,用户断开连接。问题是它不会重定向到配置中设置的页面。它给出了一个 500 内部错误和以下错误消息:

ContextErrorException: Warning: SessionHandler::write(): Parent session handler is not open in C:\xampp\htdocs\community\app\cache\dev\classes.php line 398

我正在使用 Symfony2.3.​​25 和 PHP 5.4.7.

我的安全配置是:

firewalls:
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
            login_path:  /login
            check_path:  /login_check
            default_target_path: /admin/
        logout:                 
            path: /logout
            target: /
        anonymous:  ~

当我在浏览器中刷新注销路径时,它成功重定向到主页。

非常感谢任何线索。

是PHP相关的问题,在SymfonyRequirements for php 5.4.11之前的版本中已经提到:

When using the logout handler from the Symfony Security Component, you should have at least PHP 5.4.11 due to PHP bug #63379 (as a workaround, you can also set invalidate_session to false in the security logout handler configuration)

有解决方法可以添加 invalidate_session: false:

firewalls:
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
            login_path:  /login
            check_path:  /login_check
            default_target_path: /admin/
        logout:                 
            path: /logout
            target: /
            invalidate_session: false
        anonymous:  ~

希望对您有所帮助。