WordPress白屏报错解决:从排查到修复,六步搞定白屏问
前置准备
在动手解决 WordPress白屏报错 之前,你需要确认两件事:
- 能登录服务器 – 准备好服务器IP、SSH密码(或宝塔面板账号密码)。如果你用的是宝塔,直接登录面板即可。
- 备份网站文件和数据库 – 白屏修复过程中可能涉及禁用插件、切换主题,先备份能让你后悔。
注意:白屏通常没有错误提示,优先打开PHP错误日志,才能定位根因。下文会教你怎么开启。
分步操作
第一步:开启PHP错误日志(宝塔面板)
- 登录宝塔面板 → 左侧菜单【软件商店】→ 找到你网站使用的PHP版本(如PHP 7.4)→ 点击【设置】。
- 切换至【配置文件】标签,找到
display_errors = Off,改为On。 - 找到
error_reporting,改为E_ALL。 - 找到
log_errors = On,确保已开启;error_log后面是日志文件路径,记下它(比如/www/wwwlogs/php_error.log)。 - 点击【保存】,然后重启PHP服务。
命令行方式(无面板):
# 编辑PHP配置文件(路径可能不同)
sudo vim /etc/php/7.4/fpm/php.ini
修改以下值
display_errors = On
error_reporting = E_ALL
log_errors = On
重启PHP-FPM
sudo systemctl restart php7.4-fpm
第二步:查看错误日志
- 宝塔面板:进入【安全】→【日志审计】,或直接SSH查看日志文件:
tail -f /www/wwwlogs/php_error.log- 访问出现白屏的页面,日志中会记录具体错误(如
Allowed memory size exhausted或Parse error)。
第三步:根据常见错误类型处理
情况1:内存不足错误(Allowed memory size exhausted)
在 wp-config.php 文件中增加内存限制:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '256M');保存后刷新页面。
如果还是白屏,继续下一步。
情况2:插件或主题冲突
通过FTP或宝塔文件管理器,临时禁用所有插件:
- 进入
/wp-content/plugins/目录,将文件夹重命名为plugins_bak(或任意名字)。 - 如果网站恢复,说明是插件冲突。然后逐个恢复插件文件夹(改名回
plugins),每次恢复一个测试,找到出问题的插件并替换/删除。
如果禁用插件后仍白屏,切换默认主题:
- 进入
/wp-content/themes/,将当前主题文件夹改名(如twentytwentyfour_bak)。WordPress会自动回退到默认主题。
第四步:检查文件权限
在服务器上执行:
# 假设网站路径是 /www/wwwroot/你的域名
cd /www/wwwroot/你的域名
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
确保wp-content目录可写
chmod -R 755 wp-content
第五步:修复.htaccess文件(Apache服务器)
在宝塔面板【网站】设置中,点击【伪静态】→ 选择 WordPress 模板 → 保存。
或者手动备份并删除 .htaccess,然后在WordPress后台【设置】→【固定链接】中重新保存一次。
第六步:检查PHP扩展是否加载
登录宝塔PHP设置 → 【安装扩展】页面,确保 opcache、fileinfo、exif 等常用扩展已开启。
缺失扩展可能导致首页空白。
避坑指南
- 不要直接改核心文件:
wp-config.php以外的WordPress系统文件不要手动修改,更新版本后会被覆盖。 - 关闭错误显示后:生产环境记得把
display_errors改回Off,避免泄露服务器信息。 - 注意内存限制单位:PHP的
memory_limit使用M或G,不要写错。宝塔PHP配置中也可直接调整memory_limit = 256M。 - 白屏也可能是PHP版本不兼容:尝试切换PHP 7.4、8.0或8.1,每次切换后测试。
高频问题解答
Q1:为什么我按照步骤改了wp-config.php还是白屏?
A:可能你修改的文件位置不对,或没有保存正确。另外,如果启用了OPcache,需要重启PHP或清除缓存。宝塔中可在PHP设置里【重启】按钮。
Q2:开启错误日志后还是没有任何输出?
A:检查日志文件权限是否可写,或确认日志路径是否正确。也可以直接在浏览器地址栏加入 ?debug=true(部分插件支持),或临时在 wp-config.php 中添加 define('WP_DEBUG', true);。
Q3:禁用所有插件后网站恢复,但不知道是哪个插件导致的?
A:采用二分法:先恢复一半插件,如果白屏出现,则问题在这一半中,继续拆半。每次测试清除浏览器缓存。
效果验证
- 重新访问网站首页和任意内页,确认页面正常加载,不再白屏。
- 如果之前开启了
display_errors,修复后请立即改为Off,避免漏洞。 - 在网站根目录下创建一个
phpinfo.php文件,内容为,访问该文件,检查Loaded Configuration File路径是否与你修改的PHP配置文件一致。
如果你正在处理 WordPress白屏报错解决,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。