Support

Akeeba Backup for WordPress

#38818 Cannot do an update via the WordPress Plugin page

Posted in ‘Akeeba Backup for WordPress’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

WordPress version
6.2
PHP version
8.1.16
Akeeba Backup version
7.7.6

Latest post by nicholas on Friday, 31 March 2023 15:53 CDT

LukeDouglas

EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 10MiB, please upload it on your server and post a link to it.

No backup log as it does not pertain to backups. :)

This is happening on every WordPress website which I use Akeeba Backup for WordPress.
view?usp=sharing
view?usp=sharing


https://drive.google.com/file/d/1-MwWj4F7--lqzOsDsfZ6Z0b3W1aKf1yl/view?usp=sharing

After clicking update, I get this warning:

view?usp=sharing


https://drive.google.com/file/d/1Y-NohcMMQZrWKmx6ySL-p69oPkj6WYBX/view?usp=sharing

The email I received has this information:(for security, I renamed the website primary folder name to XXXXXXXX):

When seeking help with this issue, you may be asked for some of the following information:
WordPress version 6.2
Active theme: Advisory Pro (version )
Current plugin: Akeeba Backup Professional for WordPress (version 7.8.1.1)
PHP version 8.1.16

 

Error Details
=============
An error of type E_ERROR was caused in line 25 of the file /home/XXXXXXXX/public_html/wp-content/plugins/akeebabackupwp/app/vendor/autoload.php. Error message: Uncaught Error: Class "ComposerAutoloaderInit4b0cc14848ebcf9c3b2239ebe8ffc252" not found in /home/XXXXXXXX/public_html/wp-content/plugins/akeebabackupwp/app/vendor/autoload.php:25
Stack trace:
#0 /home/XXXXXXXX/public_html/wp-content/plugins/akeebabackupwp/helpers/integration.php(46): include()
#1 /home/XXXXXXXX/public_html/wp-content/plugins/akeebabackupwp/helpers/AkeebaBackupWPUpdater.php(443): require('/home/XXXXXXXX/...')
#2 /home/XXXXXXXX/public_html/wp-content/plugins/akeebabackupwp/helpers/AkeebaBackupWPUpdater.php(532): AkeebaBackupWPUpdater::loadAkeebaBackup()
#3 /home/XXXXXXXX/public_html/wp-content/plugins/akeebabackupwp/helpers/AkeebaBackupWPUpdater.php(99): AkeebaBackupWPUpdater::needsDownloadID()
#4 /home/XXXXXXXX/public_html/wp-includes/class-wp-hook.php(308): AkeebaBackupWPUpdater::getupdates(Object(stdClass), 'update_plugins')
#5 /home/XXXXXXXX/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters(Object(stdClass), Array)
#6 /home/XXXXXXXX/public_html/wp-includes/option.php(2036): apply_filters('pre_set_site_tr...', Object(stdClass), 'update_plugins')
#7 /home/XXXXXXXX/public_html/wp-includes/update.php(391): set_site_transient('update_plugins', Object(stdClass))
#8 /home/XXXXXXXX/public_html/wp-includes/class-wp-hook.php(306): wp_update_plugins()
#9 /home/XXXXXXXX/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, Array)
#10 /home/XXXXXXXX/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#11 /home/XXXXXXXX/public_html/wp-admin/includes/class-plugin-upgrader.php(371): do_action('upgrader_proces...', Object(Plugin_Upgrader), Array)
#12 /home/XXXXXXXX/public_html/wp-admin/includes/ajax-actions.php(4580): Plugin_Upgrader->bulk_upgrade(Array)
#13 /home/XXXXXXXX/public_html/wp-includes/class-wp-hook.php(308): wp_ajax_update_plugin('')
#14 /home/XXXXXXXX/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters('', Array)
#15 /home/XXXXXXXX/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#16 /home/XXXXXXXX/public_html/wp-admin/admin-ajax.php(188): do_action('wp_ajax_update-...')
#17 {main}
thrown

 
I checked and the autoload.php file is in the wp-content/plugins/akeebabackupwp/app/vendor/ folder.  I've attached the autoload.php file.

I can simply do a normal upload / install but then I have to redo all the configurations. Bummer.

Any idea what is happening & can it be resolved?

nicholas
Akeeba Staff
Manager

Check the file wp-content/plugins/akeebabackupwp/app/vendor/composer/autoload_real.php. Does it have the class ComposerAutoloaderInit4b0cc14848ebcf9c3b2239ebe8ffc252 as it does in the files we provide in our update, or does it still have an old class name?

If it's the same class, something is wrong with WordPress' OPcache invalidation code.

If it's a different class, WordPress doesn't copy all files on update.

Your feedback would be very useful. This only happens on very few sites, none of which is anything under my control. If I know which of these two problems is what is going on I can try to work around it.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

LukeDouglas

No it does not.

The closest thing is 

return ComposerAutoloaderInitbac28010909ca0cbe68fc4c100d3c93d::getLoader();

I've attached the file in Download.zip.

I also checked a website that I had 'manually' updated to the current version 7.8.1.1. and it has that code.

return ComposerAutoloaderInit4b0cc14848ebcf9c3b2239ebe8ffc252::getLoader();

I attached the file in Download.zip.

So I thought I would see if I could use a workaround by renaming the autoload.php to orig-autoload.php and then upload the one with the correct code. Nope, didn't work. It through this error:


Plugin could not be activated because it triggered a fatal error.

Error thrown

Class "ComposerAutoloaderInit4b0cc14848ebcf9c3b2239ebe8ffc252" not found

I checked and that code is in the autoload.php file.

return ComposerAutoloaderInit4b0cc14848ebcf9c3b2239ebe8ffc252::getLoader();

Any other ideas other than just manually install and reconfigure?

 

 

 

nicholas
Akeeba Staff
Manager

Sigh... So it is a WordPress bug. It forgets to copy some update files.

This explains why the standard response I have been giving about this works.

  1. Download the latest version's update ZIP file from our site.
  2. Extract it on your computer.
  3. Upload the extracted akeebabackupwp folder into your site's wp-content/plugins folder, overwriting existing files and folders.

As a side note, if you use the integrated updater in Akeeba Backup itself instead of WordPress' plugins updater this problem does not happen. You see, our updater uses the same code we use to extract backups. It will only fail if there is a permissions hell and it will fail letting you know crap happened and what crap actually happened. It won't ambush you with a PHP fatal error. I am sad that the top two PHP CMS (WordPress and Joomla) have so bad software updaters. It's not rocket science, dammit!

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

LukeDouglas

Nic,

You're correct.  It updated fine from within the plugin.  Nice to know.  As far as WordPress & Joomla Updaters, I do agree.  FYI, I have been migrating all of my Joomla websites to WordPress since August.  I'll be finished by May. 

nicholas
Akeeba Staff
Manager

I tried reproducing this on development and testing sites to no avail. The update installs just fine, regardless of whether it's the real update or a testing one. So, yep, there's something weird with the plugins updater.

Sorry to hear about your decision to leave Joomla. We saw that happening a decade ago. Two to four years later the same people were coming back to Joomla. You'll see why. Just a heads up: when you're making an offer to build a site and/or offer a maintenance contract do remember to take into account the pricing model of all the plugins you will need to build it out, especially since most WP plugins tend to charge per site.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!