调用curl_exec时,cURL会挂起服务器。

时间:2015-08-03 16:54:12

标签: php apache api curl localhost

在本地环境(OSX Mavericks,apache服务器)上进行测试,每次执行时都会挂起服务器的curl函数。

有罪的代码行是

$result = curl_exec($ch);

因此被初始化:

   //initialize and setup the curl handler
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $this->_api_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, count($params));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

    //execute the request
    $result = curl_exec($ch);

执行时(解析了所有变量)页面无限期挂起。删除curl_exec命令"修复"悬挂问题。

  

PHP 5.6.11

     

curl 7.38.0(x86_64-apple-darwin12.5.0)libcurl / 7.38.0

     

的OpenSSL / 0.9.8

     

Apache / 2.2.29(Unix)

这个答案(fixing curl_exec hangs in Windows 8 apache)表明多个会话是问题...我已经尝试在调用curl_exec之前终止会话,但它没有任何区别。

我想出了想法!我没有调试信息,因为服务器挂起而没有返回任何内容。如果有人有任何想法,我可以尝试,我真的很感激!谢谢。

1 个答案:

答案 0 :(得分:0)

问题在于使用OSX内置的服务器功能。切换到MAMP - 用于mac的专用本地Web服务应用程序 - 解决了这个问题。