As evidenced by @kamzar1 in #35477 (comment)_
If you upload Joomla 4 files to your server which doesnt meet the minimum requirements of Joomla 4 (I.e is missing php-xml extension for example) then you are met with my Red Screen Of Death and no helpful information to help you diagnose the problem (simplexml_load_file not defined in this example) and no helpful docs telling you to turn on debug mode (which is different place, as we have not yet installed Joomla, so is in /installation/includes/framework.php
)
This gives a very bad first impression. We can do better than this.
Maybe we should check the requirements quicker, and die earlier before the red screen of death occurs? Thoughts?
Maybe show the requirements failure screen based on what we have for build_incomplete.html as an example?
Yes I know "Make sure your server meets the minimum requirements first, before trying to install Joomla" is a valid response, but for someone trying to install Joomla for the first time, they might need more guidance to those documents instead of meeting a red screen of death in the first instance.
This relates to the /installation
only, Im not advocating changing the process on an installed site, which is then moved to a non-minimum-requirement server... that can still have the red screen of death, as enabling debug in configuration.php will help that person.
Labels |
Added:
No Code Attached Yet
|
As in a container with small footprint, size is of essence, we usually do not provision a full php plugin collection.
A modern application like Joomla, will at some time during installation process check the environment and mention the missing plugins.
Those are which can be selectively obtained afterwards, avoiding a precautiously full loaded php stack in advance.
But for getting there, you need the installation page by itself kicking in. That also has a min. requirement which to my knowledge is not documented by now.
Installation start page requires (of course beside php7-common and depends on webserver configuration eventl. php7-fpm):
php7-session, php7-json, php7-xml, php7-simplexml
So, I rather see those above as essential requirements and all other during install process determined missing plugins in order to run as second level reqs.
Or you could just read the technical requirements of the project you are trying to install :-)
I did and followed exactly.
About session, sure it is sort of presumed to be there.
php7-xml was present, still was missing the php7-simplexml.
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2022-03-07 18:36:30 |
Closed_By | ⇒ | PhilETaylor |
You can modify the
build_incomplete.html
with this info. Just a note that the text should be done in the installation language .ini file so when someone selects a different language the text will be translated.In short, since I came up with this concept of the pre-build HTML responses, I think that we should try to have the least superfluous code in the PHP and somehow provide some helpful page.
My 2c