SAM*_*SAM 5 windows curl composer-php php-7
我已经在 stackoverflow 上尝试了很多可用于解决此问题的选项,不幸的是,到目前为止,没有任何方法对我有用。
它从 Composer 安装开始。我的环境详细信息如下所列:
我正在运行 MINGW64,(它是用 git v2.1.5 安装的)
卷曲 --version
curl 7.56.1 (x86_64-w64-mingw32) libcurl/7.56.1 OpenSSL/1.0.2l (WinSSL) zlib/1.2.11 libidn2/2.0.4 libssh2/1.8.0 nghttp2/1.26.0
发布日期:2017-10-23
协议: dict 文件 ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
特性: AsynchDNS IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2 HTTPS-proxy MultiSSL Metalink
现在,这里似乎CURL有OpenSSL被正确安装。当我这样做时,composer require or install它向我报告了如下错误:

我搜索并发现它是本地证书问题,所以我从https://curl.haxx.se/docs/caextract.html下载了证书/捆绑包,将证书放在下面C:\xampp\php\extras\ssl\并更改了 PHP.ini
curl.cainfo="C:\xampp\apache\bin\curl-ca-bundle.crt" openssl.cafile="C:\xampp\php\extras\ssl\curl-ca-bundle.crt"
这从来没有奏效。然后我将我的证书放在 . 下C:\Windows\System32\curl-ca-bundle.crt,更改了ini仍然没有用。
然后我cacert.pem从
并重复步骤使其与pem文件一起工作。不过这里恐怕还是没有成功。任何人都可以帮助我这里发生了什么事吗?非常感谢这方面的任何帮助。
Windows用户,使用curl-7.57.0-win64-mingw或类似版本。我已经在另一个线程上分享了这个,但我认为 Windows 用户可能会偶然发现这个问题,我的回答可能会有所帮助。所以,分享一步一步的过程。
这个错误基本上意味着,curl 无法验证目标 URI 的证书。如果您信任证书 (CA) 的颁发者,您可以将其添加到受信任证书列表中(例如,这是一个本地IIS证书,您出于开发目的信任它)。
为此,浏览 URI(例如在 Chrome 上)并按照步骤操作
HTTPS地址栏上的安全挂锁图标certificate,它将打开一个包含证书详细信息的窗口View Certificate,它将打开另一个证书窗口Details选项卡Copy to File...按钮,它将打开导出向导NextNextNextFinish,它将保存证书文件我们基本上将所需站点(我们实际信任的站点)的根证书保存为本地文件。我们下一步怎么办?
.cer文件并复制内容(包括-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----)curl.exe保存的目录,例如C:\SomeFolder\curl-7.57.0-win64-mingw\bincurl-ca-bundle.crt使用文本编辑器打开文件(右键单击并打开...)我们将证书(内容)添加到curl的主证书包中。所以现在curl将识别此证书并允许域。
现在您的命令应该在curl.
小智 5
只是为了后代而将其发布在这里,因为我花了过去 2 个小时在这上面。注意:仅在 Windows 上测试。
固定的。