同事的win10上面可以得到正常的值,但是在我在win7上curl_exec($ch)的返回值一直是false。然后尝试打出curl_error($ch)是一个string(0) ""。
我看了下本地php的配置 curl应该已经开启了
之后我照着
http://php.net/manual/zh/curl...
下面的方法将
libeay32.dll
libssh2.dll
ssleay32.dll
这三个文件放到
C:\Program Files\Apache Software Foundation\Apache2.4\bin
这个目录下,重启apache之后得到的还是为false。
我的php版本是5.6.23。并且已经基本排除了代码的问题。想问问诸位有没有也遇到过类似情况的,最后都怎么解决的。感激不尽。
下面是详细代码。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$headers=array(
// 'W-ACCESS-TOKEN: '.$access_token,
'Content-Type: application/json'
);
// addd header
curl_setopt($ch, CURLOPT_HTTPHEADER, array_merge($headers,$app_headers));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// curl_setopt($ch, CURLOPT_COOKIE, implode(';', $cookies_items));
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
if($method=='PUT'){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
}elseif($method=='DELETE'){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
再次更新,现在捕获异常之后报出以下错误
Curl failed with error #7: Failed to connect to auc.qa2.test.yiran.com port 80: Timed out
4月21日更新
已解决。
没有配host。配上了就能连上了。
timeout就是连不上,你试试手动打开这个url看看。。
将代码贴出来,curl_setopt是否设置CURLOPT_RETURNTRANSFER为true