Details
-
Bug
-
Resolution: Fixed
-
Critical
-
3.3.4
-
Platform.sh or docker
-
[4.0] - Sprint 12
-
Ibexa Commerce, Ibexa Content, Ibexa Experience, Ibexa Open Source
Description
On Platform.sh, sessions are supposed to be stored in redis by defining a redis or redissession service : https://github.com/ezsystems/ezplatform-core/blob/master/src/EzPlatformCoreBundle/bundle/DependencyInjection/EzPlatformCoreExtension.php#L261-L282
In docker, the same parameters are set using https://github.com/ibexa/docker/blob/main/docker/redis-session.yml#L13-L14 and https://github.com/ezsystems/ezplatform-core/blob/master/src/EzPlatformCoreBundle/bundle/DependencyInjection/EzPlatformCoreExtension.php#L149-L155
Actual result : on 3.3, setting this parameters doesn't do anything, they are just ignored.
Expected result: sessions should be stored in defined redis service
The original implementation for supporting session in redis was done in EZP-28800 :
- https://github.com/ezsystems/ezplatform/pull/262
- https://github.com/ezsystems/ezplatform/pull/267
- https://github.com/ezsystems/ezpublish-kernel/pull/2245
I guess the correct way for implementing this now, would be to simply revert PR-2245 and simply doing something like
//config/packages/framework.yaml session: - handler_id: null + handler_id: '%ezplatform.session.handler_id%'
And then set ezplatform.session.handler_id parameter correctly in EzPlatformCoreExtension.php.
Maybe consider using a different parameter name as it's value must be different compared to earlier versions:
- Previously, it would have a value like ezplatform.core.session.handler.native_redis.
- In my example the value should be something like redis://redis-session:6379