PHP出现SSL certificate: unable to get local issuer certificate的解决办法

当时用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的域名之后,就会对数据进行解密,而解密就要找这个证书签名文件公钥。