在本地环境(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之前终止会话,但它没有任何区别。
我想出了想法!我没有调试信息,因为服务器挂起而没有返回任何内容。如果有人有任何想法,我可以尝试,我真的很感激!谢谢。
答案 0 :(得分:0)
问题在于使用OSX内置的服务器功能。切换到MAMP - 用于mac的专用本地Web服务应用程序 - 解决了这个问题。