A blank white page, with no error message and no content, almost always means your website hit a PHP fatal error while your server's error display setting is turned off. The page fails silently instead of showing you what went wrong. If your site runs on WordPress, see the dedicated guide for WordPress's "White Screen of Death." This article covers everything else: custom PHP sites, other content management systems, and plain HTML/PHP pages.
What Usually Causes a Blank Page
A blank page is a symptom, not a diagnosis. The underlying cause is almost always one of these:
- A syntax error or typo introduced in a recent code edit.
- A script running out of allowed memory or execution time.
- A plugin, library, or extension update that isn't compatible with your PHP version.
- A file that failed to upload completely, leaving incomplete or corrupted code.
- Wrong file or folder permissions blocking a script from reading a required file.
- A misconfigured .htaccess file.
You can't tell which one it is just by looking at a blank page. You need to see the actual error, and that means checking your error log or turning on error display.
Step 1: Check Your Website's Error Log
Your hosting account keeps a log of every PHP error, even when the website itself doesn't show them. This is the fastest way to see exactly what broke and on which line. Open the error log through your control panel and look for the most recent entry, it will usually name the file and line number where the error happened.
If you're not sure how to find the error log in cPanel or DirectAdmin, see How to View Your Website's Error Logs.
Step 2: Turn On PHP Error Display Temporarily
If the error log doesn't make the problem clear, or you want to see the error directly on the page as you reload it, you can temporarily switch on PHP error display. This makes the error message appear right where the blank page was, instead of staying hidden.
See How to Enable PHP Error Display to Debug Website Issues for the exact steps. Remember to turn it back off once you've fixed the issue: leaving error display on in a live site exposes file paths and other details you don't want visible to the public.
Step 3: Match the Error to a Fix
Once you can see the actual error message, the fix usually becomes obvious:
- Parse error / syntax error: Open the file and line number named in the error and look for a missing semicolon, bracket, or quote. If you edited the file recently, undo your last change first.
- Allowed memory size exhausted: A script needs more memory than your PHP configuration allows. Increase your PHP memory limit from your control panel's PHP settings.
- Call to undefined function / class not found: Usually means a required file didn't upload fully, or a plugin/library is missing a dependency. Re-upload the affected files and confirm the file sizes match what's on your computer.
- Permission denied: Check the file and folder permissions for the file named in the error, and correct them through your file manager or FTP client.
- No error appears at all, even with display on: The problem may be in your .htaccess file rather than your PHP code. Rename it temporarily (e.g. to .htaccess_old) and reload the page. If the site comes back, the rules inside that file need to be corrected one at a time.
If the Page Just Went Blank After a Recent Change
If the blank page appeared right after you uploaded new code, updated a plugin or library, or changed a setting, the fastest fix is often to undo that one change first, rather than debugging from scratch. Restore the previous version of the file you changed, or reinstall the previous version of the plugin or library, then confirm the site comes back before investigating further.
Once the page is loading normally again, double-check that you've switched PHP error display back off.