fpm不会在任何地方记录500错误

nginx或php-fpm也不会报错500输出,事实上,500响应是在访问日志上,而不是在nginx错误日志中。 该脚本在我的开发环境中运行正常。

nginx version: nginx/1.6.2  
PHP 5.5.19 (fpm-fcgi)

试过这个

catch_workers_output = 1

重新启动一切,仍然无法工作

nginx访问日志显示:

x.x.x.x - - [12/Dec/2014:19:25:08 -0200] "GET /merchant/customer/mobile/data?sEcho=1&iColumns=3&sColumns=%2C%2C&iDisplayStart=0&iDisplayLength=10&mDataProp_0=0&sSearch_0=&bRegex_0=false&bSearchable_0=true&mDataProp_1=1&sSearch_1=&bRegex_1=false&bSearchable_1=true&mDataProp_2=2&sSearch_2=&bRegex_2=false&bSearchable_2=true&sSearch=&bRegex=false&_=1418418256370 HTTP/1.1" 500 589 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"

注意500错误,它应该在error.log上,并且跟踪其他错误上发生的php跟踪。

任何线索?


当PHP display_errors被禁用时,PHP错误可能会返回Nginx 500错误。

看看你的php-fpm日志,我相信你会发现那里的错误。 借助CentOS 7:

tail -f /var/log/php-fpm/www-error.log

你终于可以显示PHP错误。 在/etc/php.ini中,更改:

display_errors = Off

至 :

display_errors = On

希望能帮助到你。


验证php-fpm服务正在运行

sudo service php-fpm status

这将显示可以执行php的主机名。

接下来编辑php.ini来显示错误。 这将显示页面上的错误..使事情容易诊断

sudo vim /etc/php.ini

然后按键[/]并键入

display_errors

按键[i]用户箭头键和退格键设置display_errors = on

然后重新启动php-fpm服务

在系统上键入redhat / centos等。

sudo service php-fpm restart
链接地址: http://www.djcxy.com/p/23751.html

上一篇: fpm not logging 500 error anywhere

下一篇: Why does Code Contracts claim that "Ensures is false" for this code?