打开 SSL 扩展问题

问题描述

我必须运行 composer install 命令,但我发现以下错误:(我已经从 xampp 取消注释 openssl 扩展

问题 1 - docusign/click-client 被锁定到 v1.0.0 版本并且没有请求更新这个包。 - docusign/click-client v1.0.0 需要 ext-curl * -> 您的系统中缺少它。安装或启用 PHP 的 curl 扩展。
问题 2 - docusign/esign-client 被锁定到 v6.0.0-rc 版本并且没有请求更新这个包。 - docusign/esign-client v6.0.0-rc 需要 ext-curl * -> 它从您的系统中丢失。安装或启用 PHP 的 curl 扩展。
问题 3 - docusign/rooms-client 被锁定到 v1.1.0-rc 版本并且没有请求更新这个包。 - docusign/rooms-client v1.1.0-rc 需要 ext-curl * -> 它从您的系统中丢失。安装或启用 PHP 的 curl 扩展。 问题 4 - mashape/unirest-PHP 被锁定到 v3.0.4 版本并且没有请求更新这个包。 - mashape/unirest-PHP v3.0.4 需要 ext-curl * -> 您的系统中缺少它。安装或启用 PHP 的 curl 扩展。

当我运行命令时

composer update

[运行时异常]

You must enable the openssl extension in your PHP.ini to load information from https://repo.packagist.org

解决方法

您需要在 PHP.ini 配置中启用 curl 并安装 curl-ca-bundle.crt

每个namecheap

CA 包是一个包含根证书和中间证书的文件。最终实体证书与 CA 包一起构成了证书链。
需要该链来提高证书与网络浏览器和其他类型客户端的兼容性,以便浏览器识别您的证书并且不会出现安全警告。

这是你需要做的:

  1. 下载 curl cacert.pem 文件。听起来您正在使用 Windows。将此下载的文件重命名为 curl-ca-bundle.crt
  2. 将此重命名的文件移动/复制到 C:\xampp\apache\bin\ 文件夹中。
  3. 打开 XAMPP,在 Apache 菜单列表中,单击配置,然后选择编辑 PHP.INI enter image description here
  4. 使用 ctrl+f 并搜索 curl。
  5. 您应该会在“动态扩展”部分下看到 ;extension=curl。删除前面的分号以启用卷曲扩展。
  6. 搜索下一个条目,您应该会看到一个 [ Curl ] 部分,该部分指定了此 ca-bundle.crt 文件所在的位置。填写上面指定的位置,使您的条目看起来像这样:curl.cainfo="C:\xampp\apache\bin\curl-ca-bundle.crt"。保存文件并关闭它。
  7. 在 Xampp 中单击停止,然后再次启动,重新启动 Apache(和 PHP)。

更新:

根据您的评论和此 separate SO question,我尝试了 php -i 并查找了我使用的 php.ini 文件(由 php-cli)。我看到它确实也是一个不同的 ini 文件,我的文件位于 C:\tools\php80 并且它在扩展部分中没有注释 curl,但我不需要像上面指定的那样指定 ca-bundle.crt 路径。删除分号以在 php-cli 程序(composer 用于加载依赖项)上启用 curl。

编辑 2(最初作为下面的评论):

我的 php ini 也启用了 openssl,我需要在搜索 [openssl] 时指定 openssl.cafile="C:\xampp\apache\bin\curl-ca-bundle.crt"。此外,我似乎在“模块设置”部分下列出了 extension=php_openssl.dll。您应该能够使用这些更正来编辑 PHP.ini。从 Xampp 重新启动 Apache 并重试。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...