---
title: "White screen of death: causes and how to fix it"
description: "PHP hit a fatal error with display_errors off, so the page rendered as blank white with an HTTP 200 or 500. Nothing is visibly broken to a status-only…"
canonical: "https://lemwatch.com/errors/white-screen-of-death"
source: "https://lemwatch.com"
---

# White screen of death: A blank page with no error

> PHP hit a fatal error with display_errors off, so the page rendered as blank white with an HTTP 200 or 500. Nothing is visibly broken to a status-only monitor, which is what makes it dangerous.

## Short answer

 PHP hit a fatal error with display_errors off, so the page rendered as blank white with an HTTP 200 or 500. Nothing is visibly broken to a status-only monitor, which is what makes it dangerous.

## What White screen of death means

 The server responded, so basic uptime checks pass. But the response body is empty or near-empty. The real error is in the PHP error log, not on the page.

## Causes and fixes, most likely first

- A PHP fatal error in a plugin or theme after an update. Read the PHP error log for the fatal at that timestamp, then deactivate the named plugin by renaming its folder over SFTP.
- The PHP memory limit was exhausted. Raise the memory limit, then find what consumed it. A raised limit that fills again is a leak, not a capacity problem.
- A syntax error introduced by editing a theme file directly. Restore the previous version of the file. Never edit theme or plugin PHP through the admin editor on a live site.

## White screen of death on specific platforms

- White screen of death on WordPress — WordPress suppresses PHP fatals in production, so a plugin conflict after an auto-update produces a blank admin and front end with nothing…

## How to stop it happening again

- Monitor response body size and expected content, not just the status code — a blank 200 passes every status check.
- Enable WP_DEBUG_LOG to a file (never to the screen) so fatals are captured when they happen.
- Stage plugin updates rather than applying them live.

## Check your own domain

 The probe records both the status code and the response size. A 200 with a near-empty body is the exact signature of this failure and is invisible to status-only checks.

## Frequently asked questions

### Why did my uptime monitor not catch the white screen?

 Because the server returned a 200. Status-only monitoring cannot see an empty body. You need a content or page-size check to catch it.

### How do I find the plugin causing it?

 Rename the plugins folder over SFTP to disable everything at once. If the site returns, rename it back and disable plugins one at a time until the blank page reappears.


## Related

- [All website error codes](https://lemwatch.com/errors)
- [Error establishing a database connection](https://lemwatch.com/errors/error-establishing-a-database-connection)
- [ERR_EMPTY_RESPONSE](https://lemwatch.com/errors/err-empty-response)
- [HTTP 500](https://lemwatch.com/http-status-codes/500)
- [HTTP 200](https://lemwatch.com/http-status-codes/200)
- [Free Uptime & response check](https://lemwatch.com/tools/website-uptime)
- [White screen of death on WordPress](https://lemwatch.com/errors/white-screen-of-death/in-wordpress)
- [SSL handshake failed: The TLS handshake did not complete](https://lemwatch.com/errors/ssl-handshake-failed)
