symfony: AbstractSessionHandler::destroy() throws if ::open() is not called

Q A
Bug report? yes
Feature request? no
BC Break report? yes
RFC? no
Symfony version 3.4

Currently, the Symfony Kernel is forcing a higher version than it should be when pulling in version 3.3.* of http-foundation.

This was causing some breaking changes that was unexpected in my application because the wrong version of symfony-foundation was running.

composer depends symfony/http-foundation
laravel/framework                v5.5.25  requires  symfony/http-foundation (~3.3)            
symfony/http-kernel              v3.4.1  requires  symfony/http-foundation (^3.3.11|~4.0)    <----should be 3.3.14 or 3.3.latest 
symfony/psr-http-message-bridge  v1.0.1   requires  symfony/http-foundation (~2.3|~3.0|~4.0)  

I believe that ^3.3.11 should be ~3.0 in order to prevent this behavior.

This is the error I was receiving:

(1/1) LogicException
Session name cannot be empty, did you forget to call "parent::open()"

I further believe that a change in http-foundation in regards to MongoDB Session handler was a backwards breaking change in 3.4. When I move to ~3.3, the error goes away.

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 26 (18 by maintainers)

Most upvoted comments

Since the issue was close, I did not push it, but I have a commit that add the parent call to the constructor.