PHP 在 oAuth 脚本期间崩溃

PHP 在 oAuth 脚本期间崩溃

我刚刚安装了 Nginx 1.2.4 和 PHP 5.4.0(来自 svn)(php fpm)。CentOs 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这似乎是一个类似的问题,但我找不到解决方法。

+++更新+++

现在我已经对正在播放的其中一个脚本进行了一些调试。

如果你转到第 808 行http://pastebin.com/gSnzRtXb它运行 curl_exec() 命令。

运行该程序时,php 崩溃。如果我在该行上方 echo'test';exit;,它会正确回显;如果我在该行下方执行该操作,php 就会崩溃。

这意味着第 808 行导致了崩溃。

所以我编写了一个非常简单的脚本来做一些测试:http://pastebin.com/Rshnyhcm 它也使用 curl_exec,但运行良好。

因此我开始深入研究 Facebook 脚本中的查询,以查看第 806 行中 $opts 数组包含哪些值。

该数组的输出为:http://pastebin.com/Cq9ffd3R

问题是什么,我仍然不知道 :(

答案1

通过升级到 PHP 5.4.8 解决了

相关内容