php curl常见错误:SSL错误、bool(false)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php curl常见错误:SSL错误、bool(false)相关的知识,希望对你有一定的参考价值。

参考技术A

排查方法: 在命令行中使用curl调用试试。

原因: 服务器所在机房无法验证SSL证书。

解决办法: 跳过SSL证书检查。

排查方法:

返回:

再排查:

返回:

HTTP/1.1 100 Continue

Connection: close

原因 php curl接收到HTTP 100就结束了,应该继续接收HTTP 200

解决方案:

http://the-stickman.com/web-development/php-and-curl-disabling-100-continue-header/

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

【中文标题】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

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

【讨论】:

以上是关于php curl常见错误:SSL错误、bool(false)的主要内容,如果未能解决你的问题,请参考以下文章

cURL 错误:[35] 不受支持的 SSL 协议版本

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

PayPal TLS 测试 URL - PHP curl SSL 协议错误

Paypal 沙箱 CURL 执行 - “SSL 连接错误”

WORDPRESS : cURL 错误 60: SSL 证书

php curl 忽略ssl 不是否等于ssl没有用