2010-09-01 159 views
16

我從Nginx獲得一個502 Bad Gateway在一行PHP代碼,在我的程序($this->provider = new OAuthProvider();)的其他地方工作正常,並且以前工作正常。這是消息我在Nginx的錯誤日誌爲每個502得到:失敗Nginx + PHP-FPM 502錯誤的網關

的recv()(104:由對等連接復位),同時讀取來自上游

響應頭在PHP-FPM登錄有每個502警告:

[警告] [池WWW]孩子17427退出上信號從開始142070.657176秒後11 SIGSEGV

在對nginx.conf進行了一些更改之後,我被卡住了,並且非常感謝接下來要做什麼的任何指針。

我在Ubuntu 10.04上運行Nginx 0.7.67和PHP 5.3.2。

回答

5
+0

它是臭蟲#17689,它在oauth trunk的修訂版301127中修復。下載後備箱,現在它工作得很好。 感謝您的幫助,下次我將自己搜索bug數據庫:) – Andreas 2010-09-01 10:22:00

2

你的PHP進程使用segfault(「signal 11 SIGSEGV」)崩潰,導致Nginx看到「通過peer重置連接」(在這種情況下PHP是「peer」,Nginx告訴你「看,他在我能得到他的回答之前掛斷了我「)。

查看how to report a bug someone will want to fix上的PHP Bug數據庫頁面,瞭解如何獲取segfault的回溯以便報告。

+0

感謝您的解釋。 – Andreas 2010-09-01 09:57:23

0

我曾與nginx的/ lighttpd的+ PHP-fcgi的類似問題(使用產卵-FCGI),你使用任何操作碼緩存PHP? 我前段時間發現的是,xcache在php-fcgi中造成了奇怪的行爲,一些php-fcgi進程隨機死亡,我無法找到任何模式。如果您使用的是apc(或其他操作碼緩存)設置,我會建議您查看一下。 現在我在freebsd上使用nginx + php-fpm並沒有任何問題。

+0

不,我不使用任何操作碼緩存在這種情況下。儘管包括APC在我的待辦事項列表中。我遇到的問題是由於oauth實現中的一個錯誤,並且它已經固定在主幹中。 – Andreas 2010-09-03 06:39:56

1

我和APC有同樣的問題。所以我刪除它並安裝了eaccelerator。到目前爲止沒有問題。

+0

也有與APC的php-fpm這個問題。不加載APC擴展,解決問題...(或者說,解決方法,因爲我不能使用APC那樣的...) – Kissaki 2011-05-04 19:24:57

+0

mh,我需要APC,是否有解決方案? – 2017-05-19 15:44:59

0

ZendOptimizer + APC + php-fpm 5.2.14即使在phpinfo();也提供了不斷重現的SIGSEGV。

-2

嘗試關閉suhosin。有時它會使Apache崩潰。