Home›Support›English Support›[Resolved] Upgrade to php 8.4 gives me a critical error on users in the default language (french)
[Resolved] Upgrade to php 8.4 gives me a critical error on users in the default language (french)
This thread is resolved. Here is a description of the problem and solution.
Problem: You are experiencing a critical error when accessing backend pages in French after upgrading to PHP 8.4. The error results in headers appearing but the content remains empty, and a critical error message is displayed. Solution: First, we recommend enabling the WordPress debug log to capture more specific error details. You can do this by editing the
After setting these, try to reproduce the issue and check the debug log in
/wp-content/debug.log
for any specific error messages. Share these details via a secure method like pastebin.com for further analysis.
If the issue persists, consider downgrading your PHP version to 8.2 as PHP 8.4 may not be fully compatible with WPML or even WordPress itself. This step should help resolve the compatibility issues you are facing.
If these steps do not resolve your issue or if the solution becomes irrelevant due to updates or specific circumstances, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If needed, please open a new support ticket for personalized assistance at WPML support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Background of the issue:
Since my upgrade to PHP 8.4, access to any of the backend's pages is not possible. I have found a workaround by using a user with English as the main language. I cannot downgrade to PHP 7.2 because plugins were upgraded too, and doing so results in all my transactions being declined. In the meantime, I'll try to recreate the issue on a staging site to give you access. Link to a page where the issue can be seen: hidden link
Symptoms:
Header appears but content is empty, with a critical error message when accessing backend pages in the default language (French).
Questions:
How can I resolve the critical error when accessing backend pages in French after upgrading to PHP 8.4?
Is there a way to fix this issue without downgrading PHP or affecting transactions?
Now, we can try to reproduce the issue once again.
We should now be able to locate the debug log in: /wp-content/debug.log
Paste the content (if any) on a site like pastebin.com and then share the link with us (only you and us will see the URL you are sharing, it is automatically hidden for anyone else).
[07-Oct-2024 19:20:37 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/customer/www/staging9.funique.ca/public_html/wp-includes/formatting.php on line 2819
[07-Oct-2024 19:20:49 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/customer/www/staging9.funique.ca/public_html/wp-includes/formatting.php on line 2819
[07-Oct-2024 19:21:10 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/customer/www/staging9.funique.ca/public_html/wp-includes/formatting.php on line 2819
[07-Oct-2024 19:21:18 UTC] PHP Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/customer/www/staging9.funique.ca/public_html/wp-includes/formatting.php on line 2819
[07-Oct-2024 19:21:18 UTC] PHP Fatal error: Uncaught ValueError: Unknown format specifier "a" in /home/customer/www/staging9.funique.ca/public_html/wp-admin/includes/class-wp-list-table.php:1039
Stack trace:
#0 /home/customer/www/staging9.funique.ca/public_html/wp-admin/includes/class-wp-list-table.php(1039): sprintf('% articles', '40')
#1 /home/customer/www/staging9.funique.ca/public_html/wp-admin/includes/class-wp-list-table.php(1688): WP_List_Table->pagination('top')
#2 /home/customer/www/staging9.funique.ca/public_html/wp-admin/includes/class-wp-list-table.php(1620): WP_List_Table->display_tablenav('top')
#3 /home/customer/www/staging9.funique.ca/public_html/wp-admin/edit.php(503): WP_List_Table->display()
#4 {main}
thrown in /home/customer/www/staging9.funique.ca/public_html/wp-admin/includes/class-wp-list-table.php on line 1039
Languages: English (English )Spanish (Español )Italian (Italiano )
Timezone: Europe/Rome (GMT+01:00)
Hello,
PHP 8.4 is way too new and it's not even fully compatible with WPML or even WordPress.
Please downgrade your PHP version to 8.2 and the problems should go away.
PHP is not like plugin updates or even WordPress updates. updating before it turns 1-2 years old is not a good idea since it removes a lot of backwards compatibility that WordPress requires so plugins or themes and even WP can't update their php comaptibility that fast.
I understand but sadly (as mentioned in my initial messge) my payment gateway has upgraded, so I have to choose the lesser evil, which will have to be turning my profile into English until wpml becomes compatible