如何将php的错误输出到nginx的error_log中去

时间:2021-11-06 12:53:54

参考文档:http://www.cnblogs.com/glory-jzx/p/3966082.html

通过FastCGI运行的PHP,在用户访问时出现错误,会首先写入到PHP的errorlog中如果PHP的errorlog无法写入,则会将错误内容返回给FastCGI接口,然后nginx在收到FastCGI的错误返回后记录到了nginx的errorlog中

所以将php的错误输出到nginx的error_log中的办法:

1.修改php-fpm.conf中配置,没有则增加

catch_workers_output = yes

;error_log = log/error_log

2.修改php.ini中配置,没有则增加

;display_errors = off //不显示错误信息(不输出到页面或屏幕上)

log_errors = On

;error_log = “/usr/local/lnmp/php/var/log/error_log”

error_reporting=E_ALL&~E_NOTICE

注:

php-fpm.conf中的php_admin_value[error_log],php_admin_flag[log_errors]参数会覆盖到php.ini的error_log,log_errors中

如果只想输出到php-fpm的error_log中,则在php-fpm.conf或php.ini中任意配置一个error_log目录,并保证该目录存在。

如果想要输出到nginx的error_log中,则必须去掉这两个参数,然后再nginx中配置error_log参数。

版权声明:本文为博主原创文章,未经博主允许不得转载。