git clone--SSL certificate problem: unable to get local issuer certificate
前言
今天在开启新项目的时候,在 git
仓库复制了仓库地址,打开 iTerm2
然后满怀热情的在命令行中输入了 git clone ’****仓库地址*****‘
,就在我以为可以正常执行拉取代码的时候,现实给了我一个耳光,我遇到了一个提示: fatal: unable to access '克隆代码的仓库地址': SSL certificate problem: unable to get local issuer certificate
,一个我从来没有遇到过提示,接下来就是进行谷歌查询。
错误原因
git
开启了 SSL
验证。 无法获取本地颁发者证书
在某些情况下,当您使用客户端 SSL
证书时,当您向安全 HTTPS
源发出请求时,您必须共享 SSL
证书以验证您的身份。因此,如果遇到“ SSL 证书问题:无法获得本地颁发者证书”错误,则表明系统上的根证书工作不正常。
解决方案
更改php.ini(维护SSL)
转到 curl.haxx.se/ca/cacert.p… 并下载
cacert.pem
。将
cacert.pem
复制到你的openssl/zend
版本,例如 “/usr/local/openssl-0.9.8/certs/cacert.pem”。在 php.ini 文件中,通过添加 “cainfo = '/usr/local/openssl-0.9.8/certs/cacert.pem'” 来修改 CURL 配置
重新启动 PHP 并查看 CURL 现在是否能够读取 HTTPS URL。
不要更改php.ini(维护SSL)
输入下面代码:
$ch = curl_init(); $certificate_location = '/usr/local/openssl-0.9.8/certs/cacert.pem'; curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $certificate_location); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $certificate_location);复制代码
禁用SSL
输入下面代码:
$ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);复制代码
关闭SSL(个人推荐)
git config --global http.sslVerify false复制代码
前面两种方式来是安全的解决方案,后面两种是通过禁止SSL
跳过问题,官方肯定是不推荐的。
但是作为个人开发者来说,直接关闭SSL
确实是最方便的解决方案。
个人还是比较推荐 关闭SSL,简单粗暴。
结语
如果这篇文章帮到了你,欢迎点赞????和关注⭐️。
文章如有错误之处,希望在评论区指正????????。
作者:forever_Mamba
链接:https://juejin.cn/post/7018069218784460831