php相关

PHP 日志的几个配置

2017-04-06  本文已影响108人  Devonon

日志是一个可靠系统的重要保障之一。完整的日志记录,能够极大地帮助我们分析问题,排查错误。
在这里,介绍一下 PHP 的日志相关的一些配置和内容。

本文以 PHP 7 版本作为描述的基础。

基本

在 php.ini 配置文件中,有一个名为 display_errors 的配置,这个配置决定了是否显示错误信息。一般来说,在开发测试阶段,这个配置应该保持 On 以方便查看问题;当在线上时,这个应设置为 Off ,避免向用户显示出内部具体的错误信息。

比如我们直接在 CLI 里执行 php -r "echo 1 / 0;" ,当配置了 On 时,即可看见这样的错误信息:

➜ php -r "echo 1 / 0;"

Warning: Division by zero in Command line code on line 1

Call Stack:
    0.0001     349088   1. {main}() Command line code:0

INF

当然,如果我们在 Web 中运行该代码,也会显示类似错误。

实践

那当我们在线上将 display_errors 配置设为 Off 时,我们又怎样跟踪错误呢?这个时候,就要用到下面两个配置:

现在我们把 log_error 设为 Onerror_log 设为 /tmp/log/php_errors.log,然后再次在 CLI 里执行 php -r "echo 1 / 0;",即可在指定的文件中查看到相关错误信息。

对于该日志文件,如果有需要可以使用 logrotate 来实现日志切割。

PHP-FPM

当我们使用 PHP-FPM 来运行 PHP 的时候,就要额外留意 FPM 里的配置。

一般来说,默认配置情况下即可实现日志的记录。

参考

上一篇下一篇

猜你喜欢

热点阅读