本文约 2,347 字,预计阅读 6 分钟。文中命令与配置均经过实测,可直接参考执行。
引言
用宝塔面板一键部署 WordPress,一路绿灯,数据库也建好了,结果浏览器打开域名,要么是干干净净的一片白屏,要么是大大的 HTTP 500 Internal Server Error。后台、前台通通打不开,心里那叫一个崩溃。这种情况跟”网站没装好”是两回事——恰恰相反,多数时候程序本身是好的,只是运行环境里有某个环节对不上:可能是 PHP 版本太新或太旧、可能是目录所有者不对、可能是宝塔默认没给你配 WordPress 的伪静态规则、也可能是内存限制太小直接把进程撑爆了。500 和白屏最讨厌的地方在于,它们都”不肯说到底哪里错”,把真实错误藏了起来。所以排查这类问题,第一件事不是瞎改配置,而是想办法让服务器把真正的报错吐出来。
故障原因分析
1. PHP 版本与 WordPress 或主题不兼容。 网站被绑定到了 5.6 这类过老的 PHP,或用了 PHP 8 但主题代码不支持,都会直接 500。
2. 缺 PHP 扩展。 WordPress 需要 fileinfo、mbstring、curl、gd、exif、zip 等扩展,宝塔某些 PHP 版本默认没全装,缺一个都可能白屏;装完插件发现无法生成缩略图,也常是 gd 或 imagick 没装导致的。
3. 目录所有者和权限错误。 宝塔站点目录所有者若不是 www,PHP 读写失败会触发 500,可在【文件】里右键查看属性确认所有者。
4. 伪静态规则未设置。 宝塔新建站点默认不带 WordPress 伪静态,导致重写失败、页面异常,这类问题常见于内页、文章详情页,而首页却正常。
5. memory_limit 太小。 PHP 内存上限只有 128M 或更低时,稍复杂一点的页面就会因内存超限直接报错,表现为白屏并在日志里留下内存耗尽的字样。
分步解决方案
方法一:先让错误显示出来
打开网站根目录的 wp-config.php,在 / That's all, stop editing! / 这一行之前加入:
// wp-config.php —— 调试期间临时开启,排查完务必关掉
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors', 1 );
刷新页面,如果错误出现在 wp-content/debug.log 里,就去文件里看。查出原因后一定要把 WP_DEBUG 改回 false,否则线上站会把路径、参数这类敏感信息暴露给访客。
方法二:校正 PHP 版本与扩展
进入宝塔【网站】→ 你的站点 →【设置】→【网站目录】上方可切换 PHP 版本,建议选 7.4 或 8.0/8.1 这类稳定版本。再到【软件商店】→ PHP 设置 →【安装扩展】,确认 fileinfo、curl、mbstring、gd、exif、zip 都已安装。
方法三:配置 WordPress 伪静态
在宝塔【网站】→ 站点【设置】→【伪静态】里,选择 wordpress 模板,保存即可。这一步能解决大量”首页能开、内页 404 或报错”的问题。
方法四:修复目录权限与所有者
chown -R www:www /www/wwwroot/你的站点
find /www/wwwroot/你的站点 -type d -exec chmod 755 {} \;
find /www/wwwroot/你的站点 -type f -exec chmod 644 {} \;
方法五:提高 PHP 内存限制
在宝塔 PHP 设置 →【配置修改】里,把 memory_limit 调大:
; php.ini
memory_limit = 256M
保存后记得重启 PHP,配置才会被加载。
方法六:看日志找真凶
宝塔【网站】→ 站点日志能看 Nginx 访问与错误日志,【软件商店】→ PHP 的日志里能看到 PHP-FPM 报错。结合 debug.log,基本能锁定问题文件,日志里的文件名和行号是最直接的线索,顺着它去看对应代码往往一目了然。
常见踩坑点
- 宝塔默认没开 WordPress 伪静态。 很多人卡在这一步,以为程序坏了,其实只是没选模板。
- 所有者是 root 不是 www。 手动解压上传的站点常见此问题,必须改回 www。
- 调试开关忘了关。 WP_DEBUG 长期开着等于给站点做”信息公开直播”,排查完必须关闭。
- 只改了 .user.ini 没同步。 宝塔的 PHP 配置以面板设置为准,手动改 .user.ini 可能被覆盖,从面板改更可靠。
- 忽略浏览器和 CDN 缓存。 改完配置仍白屏,先强刷或用无痕窗口,必要时清一下 CDN 缓存再判断。
- 忘记看 PHP 错误日志就下结论。 面板上白屏看不到东西很正常,PHP-FPM 的错误日志里通常留着真正的原因,先看日志再动手。
总结
宝塔环境下 WordPress 前台 500 或白屏,几乎都逃不出”PHP 版本、扩展、权限、伪静态、内存”这五个方向。核心技巧是先用 WP_DEBUG 和日志把沉默的错误逼出来,再有针对性地改配置,而不是一股脑乱试。伪静态和文件所有者这两个宝塔特有的坑尤其值得优先检查,很多所谓”疑难杂症”其实两步就能解决。处理完把调试开关关掉、权限收回正常值,站点就能稳定跑起来。掌握这套排查顺序,以后换主机、换面板遇到类似的 500 白屏,你也能自己搞定。需要强调的是,遇到 500 千万别急着重装,环境问题重装一百次还是会犯,把配置对齐一次才是正解。
