简介:php解决curl报错:SSL certificate problem: unable to get local issuer certificate
使用阿里云sso保存图片时突然出现一个bug,curl报错信息如下:
SSL certificate problem: unable to get local issuer certificate
大概意思是curl上传图片到云服务器是需要使用到CA证书,但是本地没有找到这个证书,导致链接直接断开。
那这个证书去哪里下载呢?有如何配置路径?
1. 下载证书或者自己生成
大家可以自己去curl官方网站查找下载链接,官方网站如下:
https://curl.haxx.se/docs/caextract.html
不想去找的可以直接使用下方链接下载:
https://curl.haxx.se/ca/cacert.pem
当然也可以选择自己创建SSL CA证书,详情参考 https://blog.csdn.net/scuyxi/article/details/54898870
2. 在php.ini文件中配置CA证书路径
在配置CA证书之前我需要确认是否已经开启curl和openssl扩展。在php.ini文件中搜索 extension=curl 和 extension=openssl 将前面的 ; 删除即可,如果没有自行添加即可
extension=curl
extension=openssl
启用扩展后,找到curl.cainfo配置,设置CA证书。一般情况只需要配置curl.cainfo即可,以防万一,可以把openssl.cafile也配置一下,具体配置如下:
curl.cainfo=CA证书的路径
openssl.cafile=CA证书的路径
除此之外,还可以直接配置CA证书目录,程序会自动根据CA证书目录去寻找CA证书:
openssl.capath=CA证书目录
有遗漏或者不对的可以在我的公众号留言哦