Adib Aroui
Adib Aroui

Reputation: 5065

Logout doesn't redirect - Symfony2

Logout is successfuly performed and user is disconnected. The problem is that it doesn't redirect to the page set in configuration. It gives instead a 500 Internal Error with following error message:

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

I am using Symfony2.3.25 and PHP 5.4.7.

My security configuration is:

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:  ~

When I refresh the logout path in browser, it successfully redirects to home page.

Any clue is much appreciated.

Upvotes: 2

Views: 519

Answers (1)

Matteo
Matteo

Reputation: 39470

Is a problem related to PHP, has mentioned in the SymfonyRequirements for php version before 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)

Has workaround you can add 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:  ~

Hope this help.

Upvotes: 1

Related Questions