Php

oAuth 腳本期間 PHP 崩潰

  • October 31, 2012

我剛剛安裝了 Nginx 1.2.4 和 PHP 5.4.0(來自 svn)(php fpm)。CentO 5.8 64

我遇到的問題是,當我執行任何社交 oAuth 腳本時,PHP 就會崩潰。我嘗試使用我知道在其他伺服器上工作的各種腳本登錄 Facebook、Twitter 和 Google。當我載入腳本時,我從 Nginx 收到 502 錯誤。我在日誌中發現了這些錯誤:

在 php-fpm 日誌中:

WARNING: [pool www] child 23821 exited on signal 11 (SIGSEGV) after 1132.862984 seconds from start

在 nginx 日誌中:

ERROR: recv() failed (104: Connection reset by peer) while reading response header from upstream

據我所知,當 PHP 嘗試向任何 oAuth 伺服器發出請求時,它會出錯。

https://github.com/mahmudahsan/PHP-SDK-3.0---Graph-API-base-Facebook-Connect-Tutorial-Source例如是在我的其他機器上完美執行的腳本之一,但會導致 PHP碰撞。

我發現:https ://stackoverflow.com/questions/3616191/nginx-php-fpm-502-bad-gateway這似乎是一個類似的問題,但我找不到解決它的方法。

+++ 更新 +++

現在,我一直在對正在播放的 1 個腳本進行一些調試。

如果您轉到第 808 行http://pastebin.com/gSnzRtXb,它將執行 curl_exec() 命令。

當它執行時,它會崩潰。如果我回顯“測試”;退出;就在那條線之上,它回顯是正確的,如果我在這條線之下做它,php會崩潰。

這意味著導致崩潰的是第 808 行。

所以我做了一個非常簡單的腳本來做一些測試:http : //pastebin.com/Rshnyhcm 它也使用 curl_exec,但執行得很好。

因此,我開始從 facebook 腳本中深入研究該查詢,以查看 $opts 數組從第 806 行包含哪些值。

該數組的輸出是: http: //pastebin.com/Cq9ffd3R

問題是什麼,我仍然不知道:(

通過升級到 PHP 5.4.8 解決了

引用自:https://serverfault.com/questions/443363