No Code Attached Yet
avatar teoberi
teoberi
15 Apr 2025

I tried to update Joomla on the test server and I got a message that the database structure needs to be updated, I tried to do that but something went wrong and I can no longer log in as administrator.
In the logs I have:

[Tue Apr 15 21:01:19.503518 2025] [proxy_fcgi:error] [pid 1603:tid 1671] [client <...>] AH01071: Got error 'PHP message: PHP Warning: require(/var/www/htdocs/libraries/vendor/composer/../guzzlehttp/promises/src/functions_include.php): Failed to open stream: No such file or directory in /var/www/htdocs/libraries/vendor/composer/autoload_real.php on line 41; PHP message: PHP Fatal error: Uncaught Error: Failed opening required '/var/www/htdocs/libraries/vendor/composer/../guzzlehttp/promises/src/functions_include.php' (include_path='.:/php/includes:/usr/local/lib/php') in /var/www/htdocs/libraries/vendor/composer/autoload_real.php:41\nStack trace:\n#0 /var/www/htdocs/libraries/vendor/composer/autoload_real.php(45): {closure}()\n#1 /var/www/htdocs/libraries/vendor/autoload.php(25): ComposerAutoloaderInite74751bc61b9f174f3b78ceeb7fa466b::getLoader()\n#2 /var/www/htdocs/libraries/bootstrap.php(42): require('...')\n#3 /var/www/htdocs/administrator/includes/framework.php(16): require_once('...')\n#4 /var/www/htdocs/administrator/includes/app.php(29): require_once('...')\n#5 /var/www/htdocs/administrator/index.php(32): require_once('...')\n#6 {main}\n thrown in /var/www/htdocs/libraries/vendor/composer/autoload_real.php on line 41'

avatar teoberi teoberi - open - 15 Apr 2025
avatar joomla-cms-bot joomla-cms-bot - change - 15 Apr 2025
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 15 Apr 2025
avatar viocassel
viocassel - comment - 15 Apr 2025

Confirm

avatar teoberi
teoberi - comment - 15 Apr 2025

I thought I did something wrong, I didn't follow the necessary steps for the upgrade in a hurry!
So this means I'm stopping the update on the production server!

avatar teoberi
teoberi - comment - 15 Apr 2025

I couldn't upload the update file Joomla_5.3.0-Stable-Update_Package.zip, I got stuck on fulfilling the prerequisites for the update!
I didn't give importance to updating the database structure because I've done it a few times before without problems, but as soon as I tried to update the structure I lost the connection in the browser.
Now I get:

This page isn't working
<...> is currently unable to handle this request.
HTTP ERROR 500
The part of the site outside of Joomla works OK.

avatar Hackwar
Hackwar - comment - 15 Apr 2025

Did you update Joomla or did this happen when you tried to fix the database structure?

avatar teoberi
teoberi - comment - 15 Apr 2025

When tried to fix the database structure, I specified this above.
I didn't notice any other issues when I checked the prerequisites for the update.
There are no modified folders/files in /var/www/htdocs that belong to the Joomla installation.

avatar Hackwar
Hackwar - comment - 15 Apr 2025

So you are still on 5.2.6. Can you please compare your installation with a clean copy of 5.2.6 from joomla.org or github? The database fix task does not delete any files, so this is very likely another issue. Which PHP version are you using?

avatar teoberi
teoberi - comment - 15 Apr 2025

PHP 8.3.20 + PostgreSQL 17.4
I have 5.2.6 on the production server and here I have in the folder /var/www/htdocs/libraries/vendor/guzzlehttp/promises/src/ two extra files functions.php and the missing file from the error message, namely functions_include.php

avatar Hackwar
Hackwar - comment - 15 Apr 2025

You are not on 5.2.6 anymore, but on 5.3.0 already. Please delete the file /administrator/cache/autoload_psr4.php to see if that fixes the issue. The file is automatically recreated by Joomla.

avatar teoberi
teoberi - comment - 15 Apr 2025

I get the same error message above and /administrator/cache/autoload_psr4.php is not created.
Should I copy the two files functions.php and functions_include.php?

avatar Hackwar
Hackwar - comment - 15 Apr 2025

Can you please describe again, what you did? Step by step? Because somehow you ended up with at least a vendor folder which has only been partially updated to 5.3.0.

avatar teoberi
teoberi - comment - 15 Apr 2025

You are not on 5.2.6 anymore, but on 5.3.0 already. Please delete the file /administrator/cache/autoload_psr4.php to see if that fixes the issue. The file is automatically recreated by Joomla.

In /administrator/logs/joomla_update.php it does not appear that 5.3.0 was installed but 5.2.6 was successfully installed.

Update to version 5.2.6 is complete.

File Joomla_5.3.0-Stable-Update_Package.zip downloaded.
Starting installation of new version.
Test logging
Uploading update file
File [ROOT][TMP]/juRgRWWi downloaded.
Starting installation of new version.

avatar teoberi
teoberi - comment - 15 Apr 2025

I tried to update from the administrator console and received an error message similar to the one here before the Troubleshooting section (with different content). I cancelled and tried updating the database structure because I already had an error checking the prerequisites and here everything died.

avatar teoberi
teoberi - comment - 15 Apr 2025

I'm not alone @viocassel confirmed here

avatar richard67
richard67 - comment - 15 Apr 2025

The 2 files /libraries/vendor/guzzlehttp/promises/src/functions.php and /libraries/vendor/guzzlehttp/promises/src/functions_include.php are deleted on update because they have become obsolete with the update of the composer dependency "guzzlehttp/promises" from version 1.5.3 to version 2.0.4 between Joomla 5.2 and 5.3.

Does it help if you copy these 2 files from your other 5.2.5 site?

avatar teoberi
teoberi - comment - 15 Apr 2025

I haven't tried to copy them without someone who knows what they're talking about asking me to!
I can try!

avatar richard67
richard67 - comment - 15 Apr 2025

Tested on PHP 8.3 with PostgreSQL 16 using Upload & Update of the previously downloaded update package with the Joomla Update Component in backend. Due to your log I assume you did it the same way. No issue here. Unfortunately I don't have PostgreSQL 17 available for testing.

avatar teoberi
teoberi - comment - 15 Apr 2025

The 2 files /libraries/vendor/guzzlehttp/promises/src/functions.php and /libraries/vendor/guzzlehttp/promises/src/functions_include.php are deleted on update because they have become obsolete with the update of the composer dependency "guzzlehttp/promises" from version 1.5.3 to version 2.0.4 between Joomla 5.2 and 5.3.

Does it help if you copy these 2 files from your other 5.2.5 site?

I copied the two files, the site doesn't work but now I have access to the login interface as an administrator from lynx without JavaScript but not from the browser until tomorrow morning.

avatar teoberi
teoberi - comment - 15 Apr 2025

Tested on PHP 8.3 with PostgreSQL 16 using Upload & Update of the previously downloaded update package with the Joomla Update Component in backend. Due to your log I assume you did it the same way. No issue here. Unfortunately I don't have PostgreSQL 17 available for testing.

I'll see what I can do tomorrow from the admin console in the browser and get back to you.
It may be because of PostgreSQL 17 but I don't have anything in the log.
I've been using 5.2.6 with PostgreSQL 17.4 since release without any problems!

avatar teoberi
teoberi - comment - 16 Apr 2025

After copying the 2 files, I have access to the administrator console BUT the site cannot be accessed!
Site message:

Sorry, there was a problem we could not recover from.
The server returned a "500 - Whoops, looks like something went wrong."

Help me resolve this

Information from the administration console:
The installed version for Joomla is 5.2.6 but,
Database Version: 5.3.0-2025-03-14
Manifest Version: ‎5.2.6

I don't have any errors in the admin console and I'm still being offered to update to version 5.3.0!

Image
Image
Image

avatar richard67
richard67 - comment - 16 Apr 2025

Information from the administration console:
The installed version for Joomla is 5.2.6 but,
Database Version: 5.3.0-2025-03-14
Manifest Version: ‎5.2.6

@teoberi So how have you managed to have the Joomla version = 5.2.6, which is determined by the file libraries/src/Version.php, and the Manifest Version = 5.2.6, which is determined by the file administrator/manifests/files/joomla.xml, but a database schema version of 5.3.0-2025-03-14, which can only be the case if the update SQL scripts from a Joomla 5.3.0 were present and the site was updated to 5.3.0 or someone has used the "Update Structure" button in the database schema check when these files were present?

From a normal, failed update this cannot happen. The updater unpacks the update package first, so the PHP and XML and so on files are those of a 5.3.0, then the database updates run, and then the obsolete files from 5.2.6 are removed. So having old files but new database can not happen when an update breaks.

There must have been done something in addition.

avatar richard67
richard67 - comment - 16 Apr 2025

Anyway, what happens if you run the update to 5.3.0? Does it succeed?

avatar teoberi
teoberi - comment - 16 Apr 2025

I received the same message as yesterday!

Image
The "files" folder does not exist!

I click "Cancel" and I still have access to the administrator console.

And in log:

[Wed Apr 16 12:53:07.927309 2025] [proxy_fcgi:error] [pid 1620:tid 1650] [client <...>:58154] AH01071: Got error 'PHP message: PHP Warning: mkdir(): Permission denied in /var/www/htdocs/administrator/components/com_joomlaupdate/extract.php on line 1140', referer: https://192.168.1.4/administrator/index.php?option=com_joomlaupdate&task=update.install&42e255e2c83dd2ebd8a10a8e315954b0=1

avatar richard67
richard67 - comment - 16 Apr 2025

@teoberi The log clearly shows that there is a permission problem with a folder in your Joomla installation.

avatar teoberi
teoberi - comment - 16 Apr 2025

Yes, the files folder doesn't exist and I don't know why it can't be created!

avatar teoberi
teoberi - comment - 16 Apr 2025

I created the "files" folder and gave it the appropriate permissions and the installation was successful immediately!
The problem with the folder creation needs to be investigated!
Now Manifest Version = 5.3.0 has also been corrected and I don't have any error warnings!

avatar Hackwar
Hackwar - comment - 16 Apr 2025

Seems like your Joomla root folder is write-protected for the web user.

avatar teoberi
teoberi - comment - 16 Apr 2025

This has been the case until now with the same permissions and all updates so far have been carried out successfully.
What ownership and permissions do you have for the Joomla root folder?

avatar Hackwar
Hackwar - comment - 16 Apr 2025

The root folder has to be as writable for the webserver user as all subfolders. So 755 would be good. You just got lucky that Joomla hasn't added a new file/folder to the root folder of the installation in a long time.

avatar richard67
richard67 - comment - 16 Apr 2025

Anyway, even if you may be able to fix that site so it seems to work somehow, there still might be something broken or incomplete, so if you have a backup from before the update I would recommend to restore that first, using an empty database and an empty (except of your custom files like e.g. .htaccess) folder (which has the right permissions of course).

avatar teoberi
teoberi - comment - 16 Apr 2025

The root folder has to be as writable for the webserver user as all subfolders. So 755 would be good. You just got lucky that Joomla hasn't added a new file/folder to the root folder of the installation in a long time.

I will study this and get back to you!

avatar teoberi
teoberi - comment - 16 Apr 2025

I unzip Joomla into a folder in htdocs (Apache root folder) called tryjoomla, install it, then move the contents of the folder to htdocs and correct the variables in configuration.php
Until now I had root:root as the owner for htdocs but in 5.3.0 it is necessary to create a "files" folder in the Joomla root.
I did this manually but I don't know if it is an OK solution in the long term so I'm thinking of changing apache:apache for htdocs.
I found somewhere on the Joomla forum that I could only change it when there are updates.
I secured what I still had in the Apache root in such a way that only Joomla files and folders have the recommended owner, i.e. apache:apache
Many Joomla installation tutorials recommend the same thing, namely:
chown -R apache:apache /var/www/htdocs/
or
chown -R www-data:www-data /var/www/htdocs/
depending on the Apache username.

avatar tooliedotter
tooliedotter - comment - 16 Apr 2025

I too am having difficulties with the 5.3.0 update -- it has crashed the website. I copied the two files in the GuzzleHTTP folder and was able to get into Admin, but when I try to view the website I get:

Class "Joomla\CMS\Component\Router\Rules\PreprocessRules" not found
An error has occurred while processing your request.

I also see this in the Database structure:
5.3.0 database with a 5.2.6 manifest

I am getting warnings about updating to 5.3.0 and the public site is still down, how can I resolve this?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45328.
avatar teoberi
teoberi - comment - 17 Apr 2025

You should retry the update to 5.3.0 and the "Manifest version" issue will be resolved.
Post print-screens with Pre-Update Check for Joomla 5.3.0 to see if there are any issues blocking the update.
Check the owner and permissions for the Joomla root folder.

avatar teoberi teoberi - change - 17 Apr 2025
Status New Closed
Closed_Date 0000-00-00 00:00:00 2025-04-17 10:12:20
Closed_By teoberi
avatar teoberi teoberi - close - 17 Apr 2025
avatar teoberi
teoberi - comment - 17 Apr 2025

I also updated the production server, the only change was:
chown apache:apache htdocs
because for the rest of the folders and files I had set the owner during installation.
#45328 (comment)
This time there was no problem!
Problem solved, thanks @Hackwar and @richard67!

avatar tooliedotter
tooliedotter - comment - 17 Apr 2025

I've already had to restore the site once because of the update; I'm not willing to try it again right away. I will not be retrying the update until the weekend when the live newspaper website that was crashed by the update has fewer people depending on it.

Add a Comment

Login with GitHub to post a comment