搜索全站
报错排查 8 分钟阅读

WordPress 白屏空白页面怎么修?WSOD 完整排查与解决步骤

WordPress 站前台或后台突然整站白屏,页面一片空白、连一句报错信息都没有?本篇带你一步步排查:先开启 WP_DEBUG 调试日志定位 PHP 致命错误,再用停用插件、切换默认主题、调整 PHP 版本等方法逐一隔离,快速修复 WSOD 白屏故障并防止日后再次复发。

U
UFO_PF 2026-10-10 · 阅读 8 分钟
Wo 报错排查
阅读提示
本文约 3,123 字,预计阅读 8 分钟。文中命令与配置均经过实测,可直接参考执行。

引言

你打开自己的 WordPress 网站,浏览器里却是一片惨白:没有标题、没有报错文字、连 WordPress 默认的蓝色提示都没有,只有纯白的背景。刷新几次还是一样,换成手机访问、换浏览器访问,情况完全一致。更让人慌的是后台也进不去,登录页同样是白屏。这种情况在站长圈里有一个专门的叫法——WSOD,全称 White Screen of Death,中文常叫「白屏死机」。它和你见过的百度 404、服务器 500 提示都不一样,因为它连一句错误话都不肯给你。绝大多数新手看到白屏第一反应是「网站被黑了」或者「数据丢了」,其实九成以上的白屏只是某个 PHP 文件在执行时撞上了致命错误(Fatal error),而服务器被配置成不把错误显示出来,于是错误信息被吞掉,页面就只剩空白。这篇文章会从原理到操作,一步步带你把 WSOD 揪出来修好,不需要你懂太多 PHP。

故障原因分析

  1. PHP 致命错误被隐藏。白屏的本质不是「页面没了」,而是 PHP 脚本执行到一半就崩了。致命错误会让脚本立即停止,后续 HTML 根本没机会输出。同时很多主机在 php.ini 里设置了 display_errors = Off,错误被藏起来,你看到的就是空白而不是报错信息。
  1. 插件冲突最常见。两个插件用了同名函数、旧插件不兼容新版 PHP 或新版 WordPress,加载时触发 Cannot redeclare 或 Call to undefined function,直接在页面渲染前就崩掉。尤其在你刚更新插件或装了一个来源不明的插件之后。
  1. 主题 functions.php 出错。手动往主题的 functions.php 里加过代码的站长尤其容易中招,比如复制别人给的代码时少了一个分号、多了一个花括号,PHP 解析失败,整站瞬间白屏。
  1. PHP 版本升级导致不兼容。主机商悄悄把 PHP 从 7.4 升到 8.1,老主题或老插件里用了 PHP 8 已经移除的写法,运行即报错。很多白屏事故都发生在这种「什么都没改却突然白屏」的场景。
  1. 内存或文件损坏。单个 PHP 文件上传时被截断、磁盘写入不完整,或者 wp-config.php 里的配置项写错,也会造成解析失败型白屏。

分步解决方案

第一步:先让错误信息显示出来

白屏最麻烦的是没提示,所以我们第一步就是逼服务器把错误说出来。编辑网站根目录下的 wp-config.php,找到 / That's all, stop editing! / 那一行,在它上面加上:

// wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

改完后重新访问白屏的页面,错误会被写进 wp-content/debug.log。用 FTP 或主机文件管理器打开这个日志文件,最后一行通常就是真凶,比如 PHP Fatal error: Uncaught Error: Call to undefined function xxx()。如果你连后台都进不去,只加 WP_DEBUG 也能写日志,不影响访问。

第二步:用「停插件法」快速锁定插件

如果你没有 FTP 权限或者想更快出结果,直接停插件最有效。通过主机宝塔面板或 FTP,把 wp-content/plugins 这个文件夹临时改名,比如改成 plugins_bak。改完后 WordPress 找不到任何插件,会自动把它们全部停用。

  • 如果白屏立刻消失,说明问题出在插件身上。
  • 再把文件夹名字改回 plugins,然后到后台插件列表逐个启用,每启用一个就刷新一次网站,哪个一启用就白屏,哪个就是祸首。
  • 找到之后直接删除该插件,或换成替代插件。

第三步:用「换主题法」确认主题是否背锅

插件全停还是白屏,就把主题也排除掉。把 wp-content/themes 下你当前使用的主题文件夹改名,WordPress 会自动回退到默认主题(如 Twenty Twenty-Four)。

wp-content/themes/你的主题名  →  wp-content/themes/你的主题名_bak

如果换主题后网站恢复正常,说明是主题的问题,重点检查 functions.php。把改名后的文件夹改回来,用代码编辑器打开它,检查最近改动的地方。最常见的错误是漏了分号:

// 错误写法:结尾少分号,会导致整站白屏
add_action('wp_enqueue_scripts', 'my_scripts')

// 正确写法
add_action('wp_enqueue_scripts', 'my_scripts');

第四步:切换 PHP 版本

如果你用的是宝塔面板或 cPanel,进去把当前站点的 PHP 版本临时切到 7.4 或 8.0 试一下。如果切回去白屏就好了,说明是某个主题或插件不兼容当前 PHP 版本,解决办法是升级它们到最新版,或长期停留在兼容版本。

第五步:检查内存与文件完整性

在 wp-config.php 里加一行提高内存上限,排除内存不足导致的白屏:

// wp-config.php
define( 'WP_MEMORY_LIMIT', '256M' );

如果上面几步都没用,重新下载一份 WordPress 官方安装包,把 wp-admin、wp-includes 两个目录整体覆盖上去(注意不要覆盖 wp-config.php 和 wp-content),可以修复因文件损坏、被篡改导致的白屏。

第六步:实在不行就还原备份

动手之前有备份的话,这一步最省事。把数据库和文件恢复到白屏前的版本,故障立刻消失。这也是为什么我们一直强调要养成定期备份的习惯。

常见踩坑点

  1. 改完 wp-config.php 忘了删调试代码。网站修好后一定要把 WP_DEBUG 相关几行删掉或改成 false,否则错误信息会暴露给访客,既影响体验也有安全隐患。
  1. 停插件时直接删除文件夹内文件。正确做法是把整个 plugins 文件夹改名,这样 WordPress 会认为没装插件而全部停用;逐个删文件既慢又容易漏。
  1. 用记事本编辑 functions.php 导致编码错误。记事本容易加 BOM 头或把编码改成 GBK,PHP 直接报错。请用 VS Code、Notepad++ 这类编辑器,保存为 UTF-8 无 BOM。
  1. 白屏时急着重建网站。很多站长一看到白屏就重装,其实数据几乎都在数据库和 wp-content 里,坏掉的往往只是某个 PHP 文件,先排查再动手能省下大量功夫。
  1. 只看浏览器不查日志。浏览器永远只给你白屏,真正的错误只在 debug.log 或服务器错误日志里,养成看日志的习惯能少走很多弯路。

总结

WordPress 白屏(WSOD)看着吓人,本质就是 PHP 执行时撞上了致命错误、而错误提示被服务器隐藏。修复思路其实很清晰:先通过 wp-config.php 开启 WP_DEBUG 让日志把错误吐出来,再用停插件、换主题两个「隔离法」快速锁定肇事者,最后针对 PHP 版本兼容、内存上限和文件损坏逐个排查。整个过程不需要你精通 PHP,只要按顺序做实验、每改一步就刷新一次网站,就能像医生问诊一样缩小范围。记住改配置前先备份,修好后记得清理调试代码,你的 WordPress 白屏问题基本都能在这七步里解决。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。