在使用php中的curl模拟get与post请求的时候,在请求http://开头的url链接运行正常,在请求https://开头的url链接的时候,报错:60 SSL CERTIFICATE PROBLEM: UNABLE TO GET LOCAL ISSUER CERTIFICATE。下面是网站找到的解决方案.
方法一:关闭ssl的服务端验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
缺点是安全性差,相当于http明文传输,https没有起到相应的作用
方法二:在window下安装curl扩展
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_CAINFO, "/data/cacert.pem");
其中用到的cacert.pem文件的下载地址: https://curl.haxx.se/ca/cacert.pem
缺点是每次请求都调用cacert.pem
方法三:修改php.ini文件
在php.ini的[curl]模块下,添加curl加密文件路径: curl.cainfo = "D:\data\cacert.pem" ,然后重启服务器