当时用curl进行https的请求的时候,本地执行的php会抛出"SSL certificate: unable to get local issuer certificate"这个错误。

这个错误主要是由于本地没有进行证书的签名导致的。解决办法。

下载cert.pem,下载地址为:

http://curl.haxx.se/ca/cacert.pem

在php的配置文件中php.ini引入证书文件

curl.cainfo = "G:\phpStudy\PHPTutorial\cacert.pem" 表示cacert.pem存放路径

经过此方法后就可以解决本地访问https出错的问题,下面简单介绍些cacert.pem的作用。

可以使用文本编辑工具打开cacert.pem文件

curl

https

可以看到里面都是证书公钥。以GlobalSign Root CA这个为例当有了这个证书的公钥的时候,如果我们访问的https的域名之后,就会对数据进行解密,而解密就要找这个证书签名文件公钥。

Comments are closed.