使用带有curl扩展名的https请求时,Window WAMP报告“SSL证书问题:无法获取本地颁发者证书”

使用带有curl扩展名的https请求时,Window WAMP报告“SSL证书问题:无法获取本地颁发者证书”

问题描述:

It works in my centos7 linux environment. but it reports 'SSL certificate problem: unable to get local issuer certificate' in my window WAMP(PHP7.0) environment.

here is my php curl version check image

and here is my code

$func = function ($url, $post)
        {
            $header[] = "Content-type: text/xml";

            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_HEADER, 1);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_SSLCERTTYPE,'PEM');
            curl_setopt($curl, CURLOPT_SSLCERT, './cert.pem');
            curl_setopt($curl, CURLOPT_SSLKEYTYPE,'PEM');
            curl_setopt($curl, CURLOPT_SSLKEY,'./key.pem');
            curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
            $data = curl_exec($curl);
            if ($data) {
                curl_close($curl);
            } else {
                $data = curl_error($curl);
                curl_close($curl);
            }

            return $data;
        };

var_dump($func($url, $post));

它在我的centos7 linux环境中工作。 但它报告'SSL证书问题:无法获得本地颁发者证书' 在我的窗口WAMP(PHP7.0)环境中。 p>

这是我的php curl版本 检查图像 p>

这里是我的代码 p>

  $ func = function($  url,$ post)
 {
 $ header [] =“Content-type:text / xml”; 
 
 $ curl = curl_init(); 
 curl_setopt($ curl,CURLOPT_URL,$ url); \  n curl_setopt($ curl,CURLOPT_HEADER,1); 
 curl_setopt($ curl,CURLOPT_HTTPHEADER,$ header); 
 curl_setopt($ curl,CURLOPT_RETURNTRANSFER,1); 
 curl_setopt($ curl,CURLOPT_POST,1); 
  curl_setopt($ curl,CURLOPT_SSLCERTTYPE,'PEM'); 
 curl_setopt($ curl,CURLOPT_SSLCERT,'。/ cert.pem'); 
 curl_setopt($ curl,CURLOPT_SSLKEYTYPE,'PEM'); 
 curl_setopt  ($ curl,CURLOPT_SSLKEY,'。/ key.pem'); 
 curl_setopt($ curl,CURLOPT_POSTFIELDS,$ post); 
 $ data = curl_exec($ curl); 
 if($ data){
 curl_close  ($ curl); 
} else {
 $ data = curl_error($ curl); 
 curl_close($ curl); 
} 
 
返回$ data; 
}; 
 
var_dump($  func($ url,$ post)); 
  code>  pre> 
  div>

OK. I solved it. Just configure the CA path with 'curl.cainfo' param in php.ini. Here is the link: http://www.02405.com/program/php/1603.html