目录

在使用nginx的过程中总是会碰到nginx提示500错误,可是具体错误需要去查看错误日志文件, 很是不方便。打开错误页面提示很实用于调试PHP的时候,但不建议在线服务器开启此功能。

修改fpm与cli模式日志展示配置

关于PHP的配置文件fpm模式和cli模式可能是两个配置文件,需要2个都修改。

php.ini

首先保证fpm模式和cli模式下的各自的php.ini关于display_errors、error_reporting都有开启,默认是开启的。

/etc/php/7.1/fpm/php.ini

/etc/php/7.1/cli/php.ini


; display_errors
;   Default Value: On
;   Development Value: On
;   Production Value: Off
; Possible Values:
;   Off = Do not display any errors
;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
;   On or stdout = Display errors to STDOUT


; display_startup_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: Off

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   Development Value: E_ALL
;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT

; html_errors
;   Default Value: On
;   Development Value: On
;   Production value: On

fpm配置

cli模式只要调整php.ini配置即可。但fpm模式下,仍然需要保证fpm的配置也开启了display_errors:

一般在文件:/etc/php/7.1/fpm/pool.d/www.conf

;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
php_flag[display_errors] = on
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on

测试

现在代码有错误时,就会及时展示php报错信息了:

Fatal error: Uncaught Error: Call to undefined function apcu_fetch() in /var/www/html/php-shiyanchang/FunctionsReference/test.php:13 Stack trace: #0 {main} thrown in /var/www/html/php-shiyanchang/FunctionsReference/test.php on line 13