PHP 的日志级别没有统一最优解,CentOS 上怎么选,核心还是看当前环境是为了排错还是为了稳定运行。下面按开发、生产和自定义三种常见场景拆开说明,再补上 php.ini 的设置步骤,便于你快速判断该用哪一档、怎么改才会生效。
按场景选择 PHP 日志级别
开发环境:优先保留完整报错信息
在开发阶段,日志的主要作用是帮助定位问题,因此信息越完整越有价值。此时更适合把日志级别设置为 E_ALL 或 E_STRICT,让错误、警告和通知尽可能都被记录下来,减少遗漏线索的情况。


这种配置的好处是,一旦代码里存在兼容性问题、变量使用不规范或潜在警告,通常都能较早暴露出来,便于在上线前处理。
生产环境:聚焦错误和警告
到了生产环境,关注点就不一样了。线上系统更看重稳定性和日志可读性,如果记录内容过多,既会增加排查成本,也可能带来额外性能负担。
因此,通常建议使用 E_ERROR 或 E_WARNING。这类设置会把注意力集中在真正需要处理的错误或警告上,避免被大量非关键通知淹没。
需要细分时:使用自定义级别组合
如果默认的开发、生产两档都不完全符合需求,也可以按业务需要做更细的控制。例如只记录 E_USER_ERROR 和 E_USER_WARNING,就能只捕获用户自定义错误和警告,而忽略其他类型的信息。
这种方式适合对日志范围有明确要求的应用,尤其是在想保留特定业务异常、又不希望日志过杂的时候。
在 CentOS 中如何设置
实际修改并不复杂,通常直接从 php.ini 入手即可。
先找到
php.ini文件,常见位置包括/etc/php.ini或/etc/php.d/目录。使用
vi或nano打开配置文件。在文件中查找
error_reporting配置项;如果没有,就在文件末尾手动添加。按实际环境写入对应的值,例如:
开发环境:error_reporting = E_ALL 生产环境:error_reporting = E_ERROR 自定义:error_reporting = E_USER_ERROR | E_USER_WARNING保存并关闭
php.ini。重启 Web 服务器,例如 Apache 或 Nginx,让新配置生效。
修改前需要注意什么
这类设置默认会影响整个 PHP 运行环境,因此在一台服务器上托管多个应用时,要特别留意统一修改带来的范围影响。
如果不同项目对日志级别的要求不一致,可以考虑在代码里通过 PHP 的 ini_set() 函数做运行时调整。这样不必把所有应用都绑定到同一套日志策略上,灵活性会更高。
简单来说,开发环境适合尽量开全,生产环境适合收敛到关键报错;只有当业务确实需要更细粒度控制时,再使用自定义组合。照这个顺序判断,通常就能比较稳妥地选出合适的 PHP 日志记录级别。







