Nginx Php fpm未在任何地方记录500错误

Nginx Php fpm未在任何地方记录500错误,nginx,php,Nginx,Php,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/mo

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显示错误时,PHP错误可以返回Nginx 500错误

查看一下您的php fpm日志,我相信您会在那里找到错误。使用CentOS 7:

tail -f /var/log/php-fpm/www-error.log
您最终可以显示PHP错误。在/etc/php.ini中,更改:

display_errors = Off
致:


希望有帮助。

验证php fpm服务是否正在运行

sudo service php-fpm status
这将显示可以执行php的主机名

接下来编辑php.ini以显示错误。这将在第…页显示错误,以便于诊断

sudo vim /etc/php.ini
然后按[/]键并键入

display_errors
点击[i]键用户箭头键和退格键,将显示错误设置为on

然后重新启动php fpm服务

系统类型为redhat/centos等

sudo service php-fpm restart

如果它能帮助其他人(谷歌把我带到这里),我也会遇到类似的问题(虽然是在Apache中,而不是在nginx中)

我正在安装的一个旧应用程序给出了一个500错误,没有任何输出,尽管每个可能的错误记录设置都变成了最详细的级别

原来问题是有争议的“@”。正如文档中的红色警告框所述,无论您的日志记录有多详细,如果@前缀命令导致PHP因为输入错误而停止,或者因为它不可用(例如,因为您忘记安装像PHP mysql这样的关键模块),PHP都将退出,而绝对不会说明原因


因此,如果您发现自己有500个错误且没有日志,请检查代码库中的“@”符号。

sudo service php5 fpm status
php5 fpm
在上面的示例中,可能有很多种情况,您可以使用
service--status all | grep“php”
来获得一个简短的可能性列表。
sudo service php-fpm restart