New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[4] Cannot install Joomla 4 when using redis as a session store in php.ini #35471
Comments
More information: Redis version: 6.0.0 Setup is running in Kubernetes cluster. PHP communicates with Redis using TCP Please let me know if there is any tests you want me to run. |
didn't checked it by myself, but maybe give it a try joomla-cms/installation/configuration.php-dist Lines 9 to 23 in 1a6f5ae
|
I have tried that with no effect. |
This comment was marked as abuse.
This comment was marked as abuse.
One issue is the include ../ |
This comment was marked as abuse.
This comment was marked as abuse.
No way! |
I will try the manual install when I am at the computer on monday. Will report back then. |
This comment was marked as abuse.
This comment was marked as abuse.
@PhilETaylor |
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
@PhilETaylor: You are running Joomla 4 with Redis as session store configured in php.ini ? I`m curious as to which version of Redis, PHP and Nginx version you are using if that is the case? Have you configured PHP -> Redis communication using sockets or hostname/ip address and port? |
This comment was marked as abuse.
This comment was marked as abuse.
Thanks. The reason we are doing this is that we are scaling PHP horizontally, so we need session handling across several PHP instances, and Redis acomplishes this for us. |
This comment was marked as abuse.
This comment was marked as abuse.
That is true. We use a common NFS share mounted by all the kubernetes pods :-) |
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
This comment was marked as abuse.
That worked perfectly! :-) Though, it would be great to be able to use Redis from PHP as we have other applications depending on Redis on the PHP level, but I think we can get around that by hosting these somewhere else. At least now we can start testing Joomla 4. |
It seems you cannot install Joomla 4 on a server with this configuration:
I can replicate the issue.
When going to /installation you get a red screen of death, manually edit /installation/includes/framework.php and set
const JDEBUG = true;
on line 16 and then you get:and then if you edit libraries/vendor/joomla/session/src/Storage/NativeStorage.php and add around line 477
You can then force the real error:
doing some more dumping and you realise the problem is that Joomla is trying to use the
FileSystemHandler
to read/write toJoomla\CMS\Session\Storage\JoomlaStorage
by default and doesnt try to read/write to redis until after Joomla is installed and then configured to use the redis session handler in Joomla Global Config...This is because JOOMLA doesnt actually know at this point that you want to use redis, because - there is no configuration.php when you first go to /installation out of the box.
I dont have a fix for this, and it doesnt appear "broken" but more "overlooked" during development.
For now, you should be able to remove your php.ini session configuration - install Joomla with no issues - and then USE JOOMLA to configure where to store the Joomla sessions (you can select redis here)
I can then see - after login - the session in redis
Related History
It actually looks like this was set by @wilsonge and @infograf768 here 2924002 in relation to this release blocker #27439
Originally posted by @tholden92 in #30377 (comment)
The text was updated successfully, but these errors were encountered: