PHP curl无法获得本地颁发者证书

时间:2016-11-07 17:55:46

标签: php php-curl

我正在尝试通过PHP进行卷曲调用 如果我将CURLOPT_SSL_VERIFYPEER设置为true,我会收到错误

  

CURL ERROR:#60 - SSL证书问题:无法获得本地发行人   证书

我想我已经完成了所有相关文章中提到的所有步骤

我的php.ini(版本5.6.11)我已经设置了

curl.cainfo=D:\php\cacert.pem
openssl.cafile=D:\php\cacert.pem

cacert.pem是https://curl.haxx.se/ca/cacert.pem

上的最新内容

卷曲代码看起来像

$ch = curl_init();
curl_setopt($ch, CURLOPT_CAINFO, ini_get('curl.cainfo'));
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_PORT , 443);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
$data = curl_exec($ch);
$curlErr = curl_errno($ch);
if($curlErr){
    echo("(".__LINE__.") "
            .__FILE__." -->"
            .__METHOD__." CURL ERROR: #"
            . curl_errno($ch)
            ." - ". print_r(curl_error($ch),true)."\n");
}
$myfile = fopen( ini_get('curl.cainfo') , "r") ; 
echo fread($myfile,filesize(ini_get('curl.cainfo')));
fclose($myfile);

我可以阅读并显示文件内容ini_get('curl.cainfo')

我也可以阅读文件的内容

感谢您的帮助

0 个答案:

没有答案