display_errors是PHP是否输出详细错误信息的功能开关,宝塔面板PHP的display_errors默认是开启状态,为了网站安全建议是进行关闭,PHP的display_errors 是否开启取决于运行环境,开发环境建议开启,生产环境必须关闭。
原因分析
开发环境(开启 ✅)
-
便于调试:错误信息直接输出到浏览器或控制台,开发者能立即发现语法错误、运行时异常或逻辑问题。
-
提高效率:无需查看日志文件即可快速定位错误行号、调用堆栈等细节。
-
配合错误报告:常与
error_reporting(E_ALL)一起使用,显示所有类型错误(包括 Notice、Warning)。
生产环境(关闭 ❌)
-
安全风险:错误信息可能泄露敏感数据,如:
-
文件绝对路径(
/var/www/html/inc/db.php) -
数据库连接凭证(通过 SQL 错误暴露部分结构)
-
应用内部逻辑或配置信息
-
-
用户体验差:用户看到晦涩的 PHP 错误栈会感到困惑,甚至被攻击者利用。
-
合规要求:许多安全标准(如 PCI-DSS、GDPR)禁止向客户端暴露系统级错误信息。
修复方法
如果服务器安装有多个PHP版本都可依照下方步骤进行操作。
进入【宝塔面板】 → 【运行环境】 → 【PHP设置】 → 【配置修改】 → 【display_errors】 → 【关闭】
