几个星期前,我在Google网站pipe理员工具中注意到,我的一些url正在返回502。
一个这样的URL是http://www.sau.com.au/forums/topic/437438-around-the-bay-wrap-up/
这个URL返回任何桌面皮肤的502,但在手机上(不同的皮肤)
请注意,它会很快返回502,这对我意味着这不是执行或某种forms的超时。
除此之外,网站上的所有其他url都可以。
唯一的日志条目是帮助这一个;
2015/06/29 09:33:39 [error] 19650#0:* 4431763上游过早closuresFastCGI stdout,同时从上游读取响应头,客户端:94.228.34.203,server:sau.com.au,请求:“GET /上传:“fastcgi:// unix:/var/run/php-fpm/php-fpm.sock:”,主机:“437438-around-the-bay-wrap-up / HTTP / 1.1” www.sau.com.au“,推荐人:” http://www.sau.com.au/forums/forum/100-victoria/ “
我也重新启动了没有帮助的APC。 它只有1.5%的碎片。
我找不到任何限制条目。 该服务器是相当高的,所以PHP有很多的内存,请求大小,也很长的超时。
我尝试了以下,我阅读但没有差异。
fastcgi_buffer_size 10240k; fastcgi_buffers 4 10240k;
我不愿意做任何大的改变,因为这只是在一些页面上。 一个线程build议更新PHP到5.5。
我不知道现在去哪里寻求进一步的帮助。 我的下一步应该是什么?
一些信息;
nginx version: nginx/1.6.2 PHP 5.3.3 (fpm-fcgi) (built: Oct 30 2014 20:14:56)
更新1
PHP错误日志没有写入它。 错误logging是启用,但;
php_admin_value[error_log] = /var/log/php-fpm/www-error.log php_admin_flag[log_errors] = on
更新2
dmesg似乎没有更新,也没有kernel.log;
-rw-r--r-- 1 root root 41179 Dec 18 2014 dmesg
解决
我在这个答案中安装了@ sa289提出的XDebug, 为此我需要从PHP 5.3更新到PHP 5.5。 我希望能自行解决这个问题,但事实并非如此。 所以,我安装了XDebug,并将zend_extension添加到php.ini中,重新启动了PHP,并且502没有了。 我再次评论了zend的延伸,502的返回。 XDebug来拯救。 没有坚定的理由或真正的决议,但这对我来说已经够好了。
我可以看到使用Xdebug可能会崩溃的地方。 Xdebug可以用来做一些叫做跟踪的事情,它会告诉你每一行执行的代码,这样你可以看到在崩溃之前运行的最后一行代码,所以它会指向你正确的方向。 只有在设置了某个Cookie的情况下,才能使其跟踪,因此不会为每个请求生成跟踪日志。 特别注意以下configuration设置:
xdebug.trace_enable_trigger xdebug.trace_output_dir xdebug.collect_params xdebug.trace_output_name (我喜欢“trace。%p。%t”,因为它将PID放在文件名中,在某些情况下可能会有所帮助) 有关这些configuration参数以及其他的详细信息,请参阅http://xdebug.org/docs/all_settings 。