WordPress白屏了怎么办?5分钟排查和修复全流程

王尘宇 问题解答 1

WordPress白屏(White Screen of Death,简称WSOD)是站长最怕遇到的问题之一——打开网站什么都没有,一片白,后台也进不去,连错误信息都看不到。我帮人处理过不下20次白屏,90%的情况都能在5分钟内定位到原因并修复。下面是排查流程。

先确认是不是缓存的假象

有时候白屏只是CDN缓存了错误的页面。先用curl直接请求服务器看看:"curl -I https://你的域名",看返回的HTTP状态码。如果是500或者200但内容为空,那是真的白屏。如果返回的是正常的200和内容,那就是浏览器缓存的问题——清一下缓存或者换无痕模式试试。

第一步:开启错误显示

WordPress白屏的根本原因是PHP致命错误,但默认配置下错误信息不会显示在页面上。所以第一步是开启错误显示。通过SSH或者FTP,编辑wp-config.php文件,找到这行:

define(WP_DEBUG, false);

改成:

define(WP_DEBUG, true);
define(WP_DEBUG_DISPLAY, true);

保存后刷新页面,应该能看到具体的错误信息了。最常见的错误是"Fatal error: Allowed memory size exhausted"(内存不足)或者"Cannot redeclare function"(函数重复定义,通常是插件冲突)。

第二步:内存不足的修复

如果是内存不足的错误,在wp-config.php里加一行:define(WP_MEMORY_LIMIT, 256M);。如果已经是256M还是不够,那很可能是某个插件内存泄漏——继续往下排查。

第三步:插件冲突排查

这是白屏最常见的原因——某个插件更新后和其他插件或主题不兼容。排查方法:通过SSH或者FTP,把wp-content/plugins目录改个名(比如改成plugins_old),然后新建一个空的plugins目录。如果网站恢复正常了,说明问题出在某个插件上。

然后把插件一个一个移回来(每次移一个,刷新页面测试),找到导致白屏的那个。找到之后先删掉或者换一个替代品。如果后台还能进,直接在后台停用所有插件再逐个启用也行。

第四步:主题问题排查

如果停用所有插件还是白屏,那可能是主题的问题。切换到WordPress默认主题(比如Twenty Twenty-Five)试试。方法:SSH执行"wp theme activate twentytwentyfive",或者在数据库里改:wp_options表里把template和stylesheet的值改成twentytwentyfive。

常见情况:主题的functions.php有语法错误、主题版本和WordPress版本不兼容、主题文件被意外修改。

第五步:PHP版本不兼容

如果你最近升级了PHP版本(比如从7.4升到8.2),可能有些旧代码不兼容。PHP 8.0开始对很多旧语法报致命错误,比如用$count()代替count($arr)。检查方法:看错误日志里有没有"Deprecated"或者"Fatal error"相关的PHP版本信息。

解决方法:要么把PHP版本降回去(临时方案),要么更新不兼容的插件和主题(根本方案)。宝塔面板切换PHP版本很方便,软件商店里装一个PHP 8.2或者8.3,然后在网站设置里切换。

预防白屏的三个习惯

第一,更新插件和主题之前先备份。UpdraftPlus可以一键备份到网盘。第二,不在生产环境测试新插件。先在本地或者测试站点试过再上到正式站。第三,定期检查PHP错误日志。宝塔面板的网站日志里就能看到,有"Deprecated"警告的趁早处理,别等到变Fatal error。

白屏不可怕,可怕的是不知道怎么排查。记住这个顺序:缓存→错误显示→内存→插件→主题→PHP版本。按顺序排查,大部分白屏问题5分钟内能解决。

标签: WordPress白屏 故障排查 WordPress错误 网站修复 PHP错误

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~