我有使用Homebrew安装的Nginx和PHP的OSX 10.10 Yosemite。我正在尝试使用Symfony,但我发现当我运行脚本时,一旦它们到达方法调用curl_exec
,所有执行都将中止,服务器会抛出502 Bad Gateway错误。
我在Symfony范围之外创建了一个单独的脚本,并使用我通过Homebrew安装的PHP版本运行它,它运行得非常好。我假设PHP-FPM存在问题,但与StackOverflow上的大多数其他帖子相反,它并不像所有PHP脚本都崩溃,或者没有安装curl扩展。因为所有PHP脚本都可以工作,并且curl方法调用可以工作,但curl_exec除外。
此外,当通过Nginx调用curl_exec函数时,这是添加到错误日志中的行:
2015/06/02 23:01:43 [错误] 13355#0:* 10上游过早关闭 从上游,客户端读取响应头时连接: 127.0.0.1,server:mysubdomain.localhost,request:“GET /app_dev.php/users/create?XDEBUG_SESSION_START=19867 HTTP / 1.1”, 上游:“fastcgi://127.0.0.1:9000”,主持人:“mysubdomain.localhost:8080”
编辑:根据nifr的请求,这是我的PHP错误日志中出现的内容:
[04-Jun-2015 09:25:58 America / Los_Angeles] PHP警告:PHP启动: mcrypt:无法初始化使用build编译的模块模块 ID = API20131226,使用build ID = API20131226,NTS,debug编译的NTS PHP 这些选项需要在第0行[2015年6月4日]的未知中匹配 09:26:03 America / Los_Angeles] PHP警告:PHP启动:mcrypt: 无法初始化使用build编译的模块模块 ID = API20131226,使用build ID = API20131226,NTS,debug编译的NTS PHP 这些选项需要在第0行的未知中匹配
然而,无论我是否使用卷曲,都会出现这种情况。它甚至出现在echo 'Hello World';
时,所以我很确定这与curl_exec
无关。
编辑2:我发现另一个似乎有同样问题的人:php-fpm crashed when curl or file_get_contents request a https url
然而,对他们来说更严重,因为就我而言,file_get_contents
不会造成任何崩溃。
编辑3:nginx日志:
[2015年10月21日11:39:39]警告:[池www]孩子73043退出 信号11(SIGSEGV)从201.232240秒开始[2015年10月21日] 11:39:39]注意:[池www]孩子73216开始了