Назад | Перейти на главную страницу

Сбой PHP во время скриптов oAuth

Я только что установил Nginx 1.2.4 и PHP 5.4.0 (из svn) (php fpm). Центос 5,8 64

У меня проблема в том, что PHP дает сбой в тот момент, когда я запускаю какие-либо социальные сценарии oAuth. Я пытался войти в 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 что кажется похожей проблемой, но я не могу найти способ ее решить.

+++ ОБНОВЛЕНИЕ +++

Сейчас я занимаюсь отладкой одного из скриптов, который играет.

Если вы перейдете на строку 808 http://pastebin.com/gSnzRtXb он запускает команду curl_exec ().

Когда это запускается, он вылетает. Если я повторю 'test'; exit; чуть выше этой строки, он отображается правильно, если я сделаю это ниже этой строки, php выйдет из строя.

Это означает, что сбой вызывает именно строка 808.

Итак, я сделал очень простой скрипт для тестирования: http://pastebin.com/Rshnyhcm который также использует curl_exec, но работает нормально.

Поэтому я начал углубляться в этот запрос из сценария facebook, чтобы увидеть, какие значения содержит массив $ opts из строки 806.

Выход этого массива: http://pastebin.com/Cq9ffd3R

В чем проблема, до сих пор понятия не имею :(

Решилось обновлением до PHP 5.4.8