我从Nginx获得502 Bad Gateway
一行PHP代码,在我的程序的其他地方工作正常($this->provider = new OAuthProvider();
),之前工作正常。这是我在每个502的Nginx错误日志中得到的消息:
从上游读取响应头时,recv()失败(104:由对等方重置连接)
在PHP-FPM日志中,每个502都有一个警告:
[警告] [游泳池www]儿童17427在开始142070.657176秒之后退出信号11 SIGSEGV
在对nginx.conf进行了一些更改之后,我陷入了困境,非常感谢下一步该做什么的任何指示。
我在Ubuntu 10.04上运行Nginx 0.7.67和PHP 5.3.2。
答案 0 :(得分:5)
可能http://pecl.php.net/bugs/bug.php?id=17689或错误ID#18138
答案 1 :(得分:2)
您的PHP进程崩溃了一个段错误(“信号11 SIGSEGV”),导致Nginx看到“通过对等方重置连接”(在这种情况下PHP是“对等”,Nginx告诉你“看,他挂了在我能得到他的回答之前,我可以继续“”。
查看how to report a bug someone will want to fix上的PHP Bug数据库页面,了解如何获取段错误的回溯,以便报告。
答案 2 :(得分:1)
我和APC有同样的问题。所以我删除了它并安装了eaccelerator。到目前为止没问题。
答案 3 :(得分:0)
我在使用nginx / lighttpd + php-fcgi时遇到了类似的问题(使用spawn-fcgi),你是否对php使用任何操作码缓存? 我很久以前发现的是xcache在php-fcgi中导致奇怪的行为,一些php-fcgi进程随机死亡,我无法找到任何模式。如果您使用任何设置,我建议您查看apc(或其他操作码缓存)设置。 现在我在freebsd上使用nginx + php-fpm并没有问题。
答案 4 :(得分:0)
ZendOptimizer + APC + php-fpm 5.2.14即使在phpinfo()上也能提供不断重现的SIGSEGV。
答案 5 :(得分:-2)
尝试关闭suhosin。有时会崩溃Apache。