我正在使用Repo脚本命令:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
但在那之后我得到一个错误:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
我读了一些解决方案来解决这个问题,我得到了添加以下内容:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
但我想知道我可以添加此行的文件是哪个?请帮我!提前谢谢!
答案 0 :(得分:1)
也许你的网络连接到git服务器被阻止!!!
答案 1 :(得分:0)
您可以将curl shell命令与--insecure选项一起使用:
curl --insecure https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
来自curl手册页:
-k/--insecure
(SSL) This option explicitly allows curl to perform "insecure"
SSL connections and transfers. [...]
答案 2 :(得分:0)
在进行cURL调用时,您可以在PHP文件中添加VERIFYPEER,例如
<?php
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "example.com");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// set verifypeer to false
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
?>
当您从命令行运行curl时,verifypeer将无法正常工作,您需要使用--insecure
curl --insecure https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
更好的解决方案是尝试确保安装了SSL证书包。例如。在CentOS上:
yum install ca-certificates
如果这不起作用,您可以从http://curl.haxx.se/ca/cacert.pem或https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt手动下载并添加捆绑包
curl_setopt($ch, CURLOPT_CAPATH, 'ca-bundle.crt');
或通过命令行
curl --cacert /path/to/ca-bundle.crt https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo