在开发的时候,每当我在PHP中使用拼写错误或仅仅是我糟糕的编程创建致命错误时,我的浏览器中都会出现空白页面;).我必须查看原始nginx错误日志文件以查看致命错误并找到它们所在的行号,这让我非常讨厌.我似乎无法找到如何让nginx在浏览器中显示PHP致命错误.这是我的nginx配置的相关部分:
location @fpm {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_NAME index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param PATH_INFO $path_info;
}
这是一个示例错误,显示在我的错误日志中,然后导致一个空白的浏览器页面:
2014/01/04 14:53:52 [error] 20082#0: *403 FastCGI sent in stderr:
"PHP message: PHP Fatal error: Cannot redeclare class ClassName in FilePath on line 356"
while reading response header from upstream,client: 192.168.1.10,server: servername,request: "GET URLPATH HTTP/1.1",upstream: "fastcgi://unix:/var/run/php5-fpm.sock:",host: "host",referrer: "referer"
这是我的PHP信息:
这是我的PHP-FPM conf:
我的PHP-FPM池配置:
我的PHP-FPM php.ini:
如果有人能说明我能做些什么来表达这些错误,我会很高兴!
最佳答案
在您的PHP-FPM池配置中取消注释
第463行php_flag [display_errors] =关闭
并将其更改为
php_flag [display_errors] = on
并且不要忘记重启php-fpm