This week, a WordPress instance started to show a strange bevahior. After upgrading the Polylang plugin failed, everything else still seemed to work fine, but still no chance to upgrade Polylang, but I did not take the time to check the error logs (hidden somewhere on the shared host).
Another upgrade failure (
500 internal server error), when Google Site Kit had an update available.
Then we tried to upload a new image to a post, which constantly failed with the message
"Post-processing of the image failed. If this is a photo or a large image, please scale it down to 2500 pixels and upload it again", you should watch the video carefully."
The generic error message was not helpful, but rather misleading. Uploading a smaller image did not help.
I check the update page, WordPress was up to date, version 5.7 already installed without issues when it was released. Two plugins outdated, both still failing when trying to update.
Finally I logged into the hosting provider's server settings to find out that it was another update that might have come in too early: PHP 8!
While WordPress core seems to work fine with PHP 8, at least the basic functionality, but after I went back onto safe ground and selected "PHP 7.4 (recommended)" for all domains serving WordPress, everything is now working as it should.
To be fair, it was my fault. Some time ago, I had to make sure there are no more outdated PHP versions in use. Instead of switching to the recommended 7.4, I went for 8 without doing proper research.
But others did: Yoast published a WordPress and PHP 8 Compatibility report in 2020 which dives deep into all of the details.
Did I upgrade WordPress to PHP 8 too early? Probably so, but no damage done, as it was just a personal blog mainly used to try out WordPress features. So I tried, and I found out, and I will be sure to run any proper production system for my customers with the latest stable version of PHP 7.
What is your experience? Did you upgrade to PHP 8? How did you benefit? Is your site faster? What did you have to fix to make it work?