White screen after a PHP upgrade? How to fix and roll back
Site went blank or shows a critical error after a PHP upgrade? Roll back first, read the debug log, switch off the plugin or theme, then upgrade again.

PHPFree · Web security · Fix series 01
?Who this is for
- You upgraded PHP and your site went blank, or now says "There has been a critical error"
- You've been putting off a PHP update because you're afraid the site will break
- You look after your WordPress site yourself, without a developer on call
!What you'll learn
- Why a PHP upgrade can turn your site white
- First aid to get the site back, then the order for finding and fixing the cause
- How to prepare so the next upgrade doesn't do the same thing

A white screen doesn't mean your content is gone.
When your site goes blank the moment you upgrade PHP, anyone's heart sinks. But a white screen isn't an empty screen. It's a silent one. In most cases your posts and photos are still there; the program that draws the page just stopped on an error. Usually one old plugin or theme can't keep up with the new PHP, and you can undo it step by step: get the screen back, find the cause, then move up to the new version again.
Why does your site go white after a PHP upgrade?
Usually because an old plugin or theme throws an error on the new PHP. When WordPress hits a fatal error like that, it shows a blank page or a short message such as "There has been a critical error on this website."1·2
Both PHP errors and database errors can manifest as a white screen, a blank screen with no information. — WordPress.org, Common WordPress Errors, updated Oct 14, 2026
When you move into a new house, sometimes one old piece of furniture won't fit through the door. Nothing's wrong with the house, and the furniture isn't broken. The two just don't match. The same thing happens between a plugin (an add-on that gives WordPress extra features) and a new version of PHP. Kinsta says this kind of error "can usually be traced back to an issue with PHP," and that when a PHP update causes trouble, the culprit is "almost always a plugin or an active theme."3·4
- First aid: switch PHP back to the old version for now, to get the site back
- Find the cause: use the debug log (debug.log) to see which file failed
- Switch it off: turn off or replace that plugin or theme
- Fix it: update it to the latest version or swap in a different plugin
- Upgrade again: go back to the new PHP and check your pages and forms
Step 1 only buys time. You're not done until step 5. This guide is as of October 25, 2026, and based on WordPress's own documentation and major hosts' help pages.

Jeensuk's takeA white screen doesn't mean your site disappeared. It means it isn't showing you the error message. The culprit is usually a single plugin.
How do you get the site back first?
In your hosting dashboard, switch the PHP version back to the old one for now.
When someone's hurt, you stop the bleeding first and go to the hospital second. Rolling back is stopping the bleeding. Get the page your customers see working again, then look for the cause.
Most hosts let you change the PHP version from the dashboard. At Hostinger, for example, you go to Websites → Dashboard → PHP Configuration, pick a version and click Update, and it changes "within a couple of minutes."5
A rollback is first aid. If the old version no longer gets security fixes, your site is at risk again for as long as you stay on it.

Jeensuk's takeOnce the site is back, aim to fix the cause and return to the new version the same day. You don't leave a tourniquet on for long.
How do you find which plugin is causing it?
Turn on WordPress's debug log, and it records the file that caused the error.
A white screen is like a patient who won't talk. The debug log is the patient's chart. It can't say where it hurts, but it's in the record. WordPress's documentation says to add these three lines to the settings file wp-config.php, before the line that reads "That's all, stop editing!"6
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Switch to the new PHP version again to trigger the problem, then open debug.log in the wp-content folder. You'll see the path of the file that failed. If the path contains /plugins/plugin-name/, that plugin is the cause. If it contains /themes/theme-name/, it's the theme (the design package that controls how your site looks).
When you're done, take the three lines back out and delete debug.log. WordPress says not to use its debug tools on live sites,6 and the hosting platform SpinupWP warns that in the default location, "anyone can view your error logs simply by visiting the log file's URL."7 You don't leave a medical chart on the sidewalk.

Jeensuk's takeSetting WP_DEBUG_DISPLAY to false is the important part. It keeps errors in the log file instead of on the page your customers see.
How do you switch it off if you can't get into the dashboard?
Rename folders using FTP or SFTP (a way to move files to and from your server) or your host's file manager. Here's the order WordPress and Kinsta describe.1·3
When the power's out, you can flip every breaker off and then turn them back on one by one to find the room with the short. Finding the bad plugin works the same way.
- Turn off every plugin: rename the
wp-content/pluginsfolder to something likeplugins_old. Kinsta: "Rename the plugins folder to plugins_old and verify that your site is working again." If the site comes back, a plugin is the cause.3 - Turn them on one at a time: rename the folder back to
plugins, then activate plugins one by one until the screen goes white again.1·3 - Check the theme: rename your active theme's folder in
wp-content/themes. WordPress falls back to a default theme (such as Twenty Twenty-One) if one is installed. If the site comes back, the theme is the cause.1 - Use the recovery email: since WordPress 5.2, a fatal error can trigger an email to your site's admin address with a special "recovery mode" link. Through that link, the plugin or theme causing the error is paused so you can get into the dashboard and deal with it.2
- Raise the memory limit: if the problem is running out of memory, Kinsta suggests
define( 'WP_MEMORY_LIMIT', '128M' );, and 256M if that isn't enough.3

Jeensuk's takeYou're only renaming folders, not deleting files. Still, take a backup before you start.
Once you've found the cause, how do you finish?
Update the plugin to its latest version or replace it with a different one, then move up to the new PHP version again.
Finally, check your pages, your contact form and the Site Health screen. If you can reach your server over SSH (a way to log in and run commands remotely), WP-CLI's wp core verify-checksums "verifies WordPress files against WordPress.org's checksums," so you can confirm WordPress's own files are intact.8
How do you keep this from happening next time?
Measure the furniture before moving day, and you won't panic at the door.
| Prep | What to do |
|---|---|
| Back up | Save both your files and your database before you change anything9 |
| Update first | Bring WordPress, your theme and plugins up to date, then upgrade PHP9 |
| Check compatibility | Check that your theme and plugins support the new PHP. If something doesn't, ask its developer or your web developer9 |
| Test copy | For an important site, try the upgrade in a staging copy first. Kinsta: "use a staging environment to test the update first"4 |

Jeensuk's takePHP versions change every year, and every time, this move comes back. For an older site with lots of plugins, another answer is to have less to move: switch to a setup that doesn't run PHP at all.
Frequently asked questions about errors after a PHP upgrade
If my site goes white, did I lose my posts or data?
Usually not. The program stopped on an error before it could draw the page. Turn off the plugin or theme causing it and your content shows up again.
Can't I just stay on the old PHP version?
Not for long. If the old version no longer gets security fixes, you're at risk again, so fix the cause and move back to the new version.
Can I leave the debug settings on?
No. Once you've found the cause, take the three lines back out of wp-config.php and delete debug.log.
SOURCES
- WordPress.org, "Common WordPress Errors" (updated Oct 14, 2026) developer.wordpress.org
- Make WordPress Core, "Fatal error recovery mode in 5.2" (Apr 16, 2019) make.wordpress.org
- Kinsta, "How to fix the 'There has been a critical error on your website' error" (updated Mar 11, 2026) kinsta.com
- Kinsta, "How to update the PHP version in WordPress" (updated Jun 8, 2026) kinsta.com
- Hostinger, "How to change the PHP version of your Hostinger hosting plan" (updated Oct 22, 2026) hostinger.com
- WordPress.org, "Debugging in WordPress" (updated Oct 14, 2026) developer.wordpress.org
- SpinupWP docs, "WordPress debug.log" spinupwp.com
- WP-CLI, "wp core verify-checksums" developer.wordpress.org
- WordPress.org, "Update PHP" (updated Jul 29, 2026) wordpress.org
The fix guide covers the whole order; each article goes into one step. More English editions are on the way.
- PHP vulnerability fix guide: from checking to moving off PHP (coming soon)
- White screen after a PHP upgrade? How to fix and roll back (this article)
- Where to check and change your PHP version, host by host (coming soon)
- Is there a back door left on your site? A self-check for web shells (coming soon)
- Moving WordPress to a static site: how and what it costs (coming soon)
To understand what went wrong, start with risk series part 1, "What is PHP2Shell?" More articles on the ATATAKAI Digital blog.
Rolling back again and again?
Enter your site address and we'll tell you right away whether it runs on PHP and where your host stands. If you're not affected, we'll say so plainly: "No need to move right now."
Run the free 30-second checkWant to talk it through after you see the result? Contact ATATAKAI Digital

Updated Oct 26, 2026

