PHP7如何开启具体错误显示
目录
在使用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