小程序开发调用本地接口报错:SSL certificate: unable to get local issuer certificate

一、PHPStudy集成环境,解决办法如下:

1. 到 http://curl.haxx.se/ca/cacert.pem下载pem文件;

2. 将文件拷贝至PHPTutorial文件夹下,如: D:\phpStudy\PHPTutorial\cacert.pem;

3. 打开 php.ini 配置文件, 增加 curl.cainfo = "D:\phpStudy\PHPTutorial\cacert.pem"。

二、 wampserver集成环境,解决办法如下:

1. 到 http://curl.haxx.se/ca/cacert.pem下载pem文件;

2. 将文件拷贝至wampserver安装根目录下,如: D:\wamp64l\cacert.pem;

3. 打开 php.ini 配置文件, 增加 curl.cainfo = "curl.cainfo="D:/wamp64/cacert.pem""。

三、手动安装的wamp环境

通过上面两个集成环境配置流程就可以看出,解决办法如下:

1. 到 http://curl.haxx.se/ca/cacert.pem下载pem文件;

2. 把下载的cacert文件放置在php可访问到的位置;

3. 到php.ini中配置curl.cainfo的文件地址。

四、说明

先把解决办法说明白,解决了问题再说。

解决完问题,我们也改想想,增加的这个文件具体是什么呢?

说这个文件前,先说说什么是HTTPS。

很多刚做IT的朋友,可能也不太理解什么是http和https?以及这两者之间有什么区别?

百度了一篇说明文章,感兴趣的朋友可以自己看看:HTTP与HTTPS的区别。

我这里从一个角度简单说明:https是http通讯协议的升级版,在http的基础上,增加了一层SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密所以https可以理解陈http协议的安全版。

我们在开发小程序的一个限制是:服务端请求必须使用https接口

那我们本地没有SSL证书,怎么办?这时候,聪明的你想起了什么没有?

对,我们刚刚下载的那个文件,cacert.pem正是一个SSL模拟证书,安装到我们本地的开发环境,就可以实现https效果了。

本地开发结束,上线后再购买SSL证书配置到线上的环境,直接无缝对接上线。

 

最后,祝你的小程序裂变无数,生意兴隆,哈哈 ^O^

你可能感兴趣的:(PHP)