宝塔PHP7.3升级后白屏解决办法
时间:2026-04-12 22:06:48 326浏览 收藏
PHP 7.3 升级后网站白屏,往往并非代码无错,而是致命错误被静默屏蔽——真正原因常藏在配置错位、日志失能或框架覆盖之中:你可能正修改着CLI用的php.ini,而Web服务却加载着另一个;display_errors开启却因error_reporting设为0形同虚设;.user.ini悄悄关掉报错;错误日志因权限不足空转不写;甚至CMS入口文件一句error_reporting(0)就让所有配置前功尽弃。本文直击宝塔环境下白屏排查的五大关键陷阱,从精准定位生效配置、强制启用错误显示,到实时监听日志、识别典型7.3兼容报错,再到绕过框架拦截的临时调试技巧,帮你快速撕开白屏假象,让隐藏的错误无所遁形。

PHP 7.3 升级后白屏,大概率是致命错误被静默吞掉,没开 display_errors,也没把错误写进日志 —— 先确认日志路径和 PHP 配置是否真生效,别在错误的 php.ini 里改。
查清楚当前生效的 php.ini 路径
宝塔多个 PHP 版本共存,容易改错配置文件。白屏时 Web 服务用的未必是你以为的那个 php.ini。
- 在宝塔面板 → 网站 → 对应站点 → 「PHP 版本」旁点「设置」→ 「配置文件」,看顶部显示的路径,这是 Nginx/Apache 实际加载的
php.ini - 终端执行
php -i | grep "Loaded Configuration File"(注意:这是 CLI 模式下的路径,和 Web 不一定一致;Web 下建议用phpinfo()页面确认) - 新建一个
info.php放到网站根目录,内容为,访问它,搜索「Loaded Configuration File」,以这个为准
开启 display_errors 并确认 error_reporting 级别
仅开 display_errors = On 不够,如果 error_reporting 被设成 0 或过低,连 E_ERROR 都不显示。
- 编辑上一步确认的
php.ini,找到并修改这两行:display_errors = Onerror_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT(PHP 7.3 推荐值,兼容性好) - 改完必须重启 PHP 服务:宝塔面板 → 软件管理 → PHP 7.3 → 「重启」按钮,不是重载
- 若仍白屏,检查是否被 .htaccess 或 user.ini 覆盖:查看网站根目录下有无
.user.ini,里面若有display_errors=Off或error_reporting=0,删掉或改成On/E_ALL
查看 PHP 错误日志定位具体报错
白屏时 display_errors 可能因输出缓冲、header 已发送等原因失效,日志才是唯一可靠来源。
- 宝塔默认 PHP 错误日志路径是:
/www/wwwlogs/php_error.log(全局);也可在php.ini中查error_log配置项确认 - 实时监听日志:终端执行
tail -f /www/wwwlogs/php_error.log,然后刷新白屏页面,看有没有新错误输出 - 常见升级后报错:
•Call to undefined function mysql_connect()→ PHP 7.3 移除了mysql_*函数,需换mysqli或PDO
•Cannot declare class XXX, because the name is already used→ 类重复加载,检查require_once是否漏写,或自动加载器冲突
•Array and string offset access syntax with curly braces is deprecated→ 旧代码用$str{0},要改成$str[0]
临时加一句 error\_reporting 强制输出(调试用)
如果改了 php.ini 还看不到错误,可能是某些框架或 CMS 在入口文件开头就调用了 error_reporting(0),直接覆盖了配置。
- 在网站入口文件(如
index.php)最顶部插入:error_reporting(E_ALL); ini_set('display_errors', '1'); - 注意顺序:必须在任何输出(包括空格、BOM)之前,否则会报「headers already sent」而失败
- 这招只用于快速定位,上线前务必删掉,避免暴露敏感信息
真正麻烦的不是找不到错误,而是日志里没记录 —— 很可能因为 error_log 路径不可写,或 SELinux/权限限制导致 PHP 根本写不进日志。遇到这种情况,先 ls -l /www/wwwlogs/ 看属组是不是 www,再 chown -R www:www /www/wwwlogs/,然后再试。
以上就是《宝塔PHP7.3升级后白屏解决办法》的详细内容,更多关于的资料请关注golang学习网公众号!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
296 收藏
-
134 收藏
-
338 收藏
-
287 收藏
-
180 收藏
-
443 收藏
-
331 收藏
-
203 收藏
-
498 收藏
-
166 收藏
-
209 收藏
-
469 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习