cURL 错误 60 - SSL 证书问题 - 无法获取本地颁发者

Posted

技术标签:

【中文标题】cURL 错误 60 - SSL 证书问题 - 无法获取本地颁发者【英文标题】:cURL error 60 - SSL certificate problem - unable to get local issuer 【发布时间】:2017-10-17 21:15:36 【问题描述】:

php 版本:5.6

问题:我收到一个错误:

    cURL error 60: SSL certificate problem: unable to get local issuer certificate.

我尝试解决此问题的步骤:

php -r "readfile('https://symfony.com/installer');" > symfony

    从https://curl.haxx.se/ca/cacert.pem 下载包含更新的证书列表的文件。

    php.ini中设置路径 curl.cainfo =D:\xampp_tomact\php\extras\ssl\cacert.pem openssl.cafile=D:\xampp_tomact\php\extras\ssl\cacert.pem

    Apache 重启

    然后我尝试了

    php symfony new my_project_name
    

我从链接中获得了帮助

http://symfony.com/doc/current/setup.html

cURL error 60: SSL certificate: unable to get local issuer certificate

但没有一个解决方案在 xampp windows 中起作用。 请推荐

我再次尝试的步骤

    d:\xampp\htdocs> php -r "readfile('http://symfony.com/installer');" > symfony d:\xampp\htdocs\projects> php symfony symfony new my_project_name

执行上述第三条命令后出错:

    cURL error 60: SSL certificate problem: unable to get local issuer 

在安装 symfony 时仍然没有解决这个错误的方法。

我也关注了 symfony 文档

我也尝试过的最后一个解决方案:

PHP - SSL certificate error: unable to get local issuer certificate

但它也没有工作。

 xampp version 3.2.2

【问题讨论】:

为什么要在本地使用 SSL? 我想在本地安装 symfony2 什么时候出现这个错误? 嗨线圈我在运行时出错:php symfony new my_project_name 查看建议的答案并重试。 【参考方案1】:

经过一番努力,我找到了为什么无法下载 symfony

    XAMPP 版本 3.2.2 已降级 XAMPP vr 3.2.1 从https://curl.haxx.se/ca/cacert.pem下载cacert.pem文件。 php.ini 第 989 行放这个 curl.cainfo ="D:\xamppNew\php\extras\ssl\cacert.pem" 再次重启 apachae。 留言:symfony is being downloaded

在我的例子中,xampp 3.2.2 产生了问题。所以要小心 XAMPP 3.2.2。它有一些 apache 应该修复的错误。

最后我可以说这是 xampp 问题,即安装了 tomcat 的新版本。

【讨论】:

【参考方案2】:
user@DESKTOP-HE0OTN5 MINGW64 /c/xampp/htdocs/symphart
$ composer diagnose
You are running Composer with SSL/TLS protection disabled.
Checking composer.json: WARNING
require.composer/package-versions-deprecated : exact version constraints (1.11.99.1) should be avoided if the package follows semantic versioning<br>  
Checking platform settings: OK
Checking git settings: OK 
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: FAIL
[Composer\Downloader\TransportException] curl error 60 while downloading https://repo.packagist.org/packages.json: SSL certificate problem: unable to get local issuer certificate
Composer is configured to disable SSL/TLS protection. This will leave remote HTTPS requests vulnerable to Man-In-The-Middle attacks.
Checking github.com rate limit: FAIL
[Composer\Downloader\TransportException] curl error 60 while downloading https://api.github.com/rate_limit: SSL certificate problem: unable to get local issuer certificate
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: Warning: Accessing getcomposer.org over http which is an insecure protocol.
OK
Composer version: 2.0.12
PHP version: 7.4.16
PHP binary path: C:\Program Files\php-7.4.16\php.exe
OpenSSL version: OpenSSL 1.1.1i  8 Dec 2020
cURL version: 7.70.0 libz 1.2.11 ssl OpenSSL/1.1.1i
zip: extension present, unzip present<br>

如果您遇到此问题,我可以帮助您....

您只需要从 c:\xampp\htdocs\symphart(yourProjectFile) 的项目文件的 composer.json 文件中删除一些代码行

 "config": 
        "optimize-autoloader": true,
        "preferred-install": 
            "*": "dist"
        ,
        "sort-packages": true,
        "disable-tls": true, 
        "secure-http": false  

您只需从您的 composer.json 文件中删除这两行代码 你会发现这个结果

user@DESKTOP-HE0OTN5 MINGW64 /c/xampp/htdocs/symphart
$ composer diagnose
Checking composer.json: WARNING
require.composer/package-versions-deprecated : exact version constraints (1.11.99.1) should be avoided if the package follows semantic versioning
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 2.0.12
PHP version: 7.4.16
PHP binary path: C:\Program Files\php-7.4.16\php.exe
OpenSSL version: OpenSSL 1.1.1i  8 Dec 2020
cURL version: 7.70.0 libz 1.2.11 ssl OpenSSL/1.1.1i
zip: extension present, unzip present

如果你没问题,你可以试试这个

【讨论】:

以上是关于cURL 错误 60 - SSL 证书问题 - 无法获取本地颁发者的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP 配置 cURL 错误 60:SSL 证书

Curl 错误 60,SSL 证书问题:证书链中的自签名证书

WORDPRESS : cURL 错误 60: SSL 证书

cURL 错误 60 - SSL 证书问题 - 无法获取本地颁发者

cURL 错误 60:SSL 证书问题,anche con cacert.pem

如何解决 cURL 错误 60:Facebook 身份验证时 Laravel 5 中的 SSL 证书