We have a wordpress installation on provider wpengine. When we try to update some plugins we get the fatal PHP error in subject. The provider support do not know how to help us. This is the call stack of the error:
"PHP Fatal error: Uncaught Error: Call to undefined function trailingslashit() in /nas/content/live/sillaindustrie/wp-includes/class-wp-textdomain-registry.php:103nStack trace:n#0 /nas/content/live/sillaindustrie/wp-includes/l10n.php(784): WP_Textdomain_Registry->set(‘default’, ‘it_IT’, ‘/nas/content/li…’)n#1 /nas/content/live/sillaindustrie/wp-includes/load.php(1401): load_textdomain(‘default’, ‘/nas/content/li…’, ‘it_IT’)n#2 /nas/content/live/sillaindustrie/wp-includes/load.php(278): wp_load_translations_early()n#3 /nas/content/live/sillaindustrie/wp-settings.php(74): wp_maintenance()n#4 /nas/content/live/sillaindustrie/wp-config.php(67): require_once(‘/nas/content/li…’)n#5 /nas/content/live/sillaindustrie/wp-load.php(50): require_once(‘/nas/content/li…’)n#6 /nas/content/live/sillaindustrie/wp-blog-header.php(13): require_once(‘/nas/content/li…’)n#7 /nas/content/live/sillaindustrie/index.php(17): require(‘/nas/content/li…’)n#8 {main}n thrown in /nas/content/live/sillaindustrie/wp-includes/class-wp-textdomain-registry.php on line 103, referer: https://silla.industries/wp-admin/update-core.php?action=do-plugin-upgrade"
It seems to be related to WPML plugin or similar, any suggest?
Thanks
G.
I tried to update wordpress plugin, but I cannot understand the source of the error. Maybe it is plugins incompatibility but I don’t know how to discover it.
8
Answers
Update: I found a user that had a similar problem, he solved by deleting the wp_includes folder and then re-uploading it via FTP. I tried too: in staging environment it worked but in production the error still appears after updating any plugin :(
Check you have installed php-psr.
I had this error as I hadn’t installed php8.1-psr
Looks like the formatting.php functions are not available anymore when updating.
Update: I found a possible incompatibility with a TikTok plugin, but I’m not sure. In fact, after some updates that worked fine, the problem returned.
Update: I find the cause of the problem. WordPress 6.1 have made important updates to the
WP_Textdomain_Registry
object. This causes the error when the maintenance mode is activated during the plugin update process.Got the same error several times since 6.1.x, I think on some servers this is just a timeout problem.
Have to compare some different instalations on different hosts.
And check if there ist still the .maintenance in your WP dir.
As others have pointed out, this is an issue where
wp-includes/formatting.php
isn’t available when the code inwp-includes/class-wp-textdomain-registry.php
runs. It is an issue introduced by WordPress 6.1.To work around this issue, you can change line 103 in
wp-includes/class-wp-textdomain-registry.php
from:To:
it is a bug in WP Core and will be fixed in 6.1.2
https://core.trac.wordpress.org/changeset/55010