即使设置了CURLOPT_CAINFO,CURLOPT_SSL_VERIFYPEER也无法在PHP中工作

时间:2013-10-22 18:11:34

标签: php curl ssl

我正在尝试在PHP中启用CURLOPT_SSL_VERIFYPEER,但是当我调用curl_exec()时,它返回false,没有其他错误消息或指示其中断的原因。这就是我所拥有的:

$curl_object = curl_init();
curl_setopt($curl_object, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_object, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl_object, CURLOPT_CAINFO, "/srv/assets/ssl/ca-bundle.pem");
curl_setopt($curl_object, CURLOPT_SSL_VERIFYPEER, true);

curl_setopt($curl_object, CURLOPT_URL, $url);
$response = curl_exec($curl_object);

只要我将CURLOPT_SSL_VERIFYPEER设置为false就可以了。 CURLOPT_CAINFO文件是来自http://curl.haxx.se/docs/caextract.html的官方ca-cert.pem。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

这可能有助于调试问题:

 curl_setopt($curl, CURLOPT_VERBOSE, 1);