composer 提示 "The openssl extension is required for SSL/TLS protection" 怎么办?

答案是PHP缺少OpenSSL扩展导致Composer无法进行HTTPS请求,需通过php -m检查openssl是否启用,若未启用则编辑php.ini文件取消extension=openssl的注释,保存后重启服务,并验证OPENSSL_VERSION_TEXT输出,Windows用户还需确保php_openssl.dll及依赖库在正确路径,最后确认命令行与配置的PHP版本一致即可解决。

composer 提示 \

这个提示说明你的 PHP 环境缺少 OpenSSL 扩展,而 Composer 在进行 HTTPS 请求(比如从 packagist.org 下载包)时需要它来保证传输安全。

1. 确认 openssl 扩展是否启用

运行以下命令查看当前 PHP 是否已加载 openssl:

php -m | grep -i openssl

如果输出包含 openssl,说明扩展已启用。如果没有,继续下一步。

2. 启用 openssl 扩展

编辑你的 php.ini 文件。可以通过下面命令找到位置:

php --ini

打开显示的 php.ini 文件(如 php.ini-developmentphp.ini-production),查找这一行:

;extension=openssl

去掉前面的分号 ;,变成:

extension=openssl

保存文件后重启 Web 服务或命令行环境。

Studio Global Studio Global

Studio Global AI 是一个内容生成工具,帮助用户客制化生成风格和内容,以合理价格提供无限生成,希望将 AI 带给全世界所有人。

Studio Global 405 查看详情 Studio Global

3. 检查是否解决

再次运行:

php -r "echo OPENSSL_VERSION_TEXT;"

如果有版本信息输出,说明 openssl 已正常工作。然后尝试重新运行 composer 命令。

4. Windows 用户常见问题

Windows 上有时还需确保以下几点:

  • php_openssl.dll 存在于 ext/ 目录下
  • 系统环境变量中包含 PHP 的 DLL 路径,或把 libeay32.dll、ssleay32.dll 放入系统 PATH
  • 某些旧版 PHP 需要手动复制这些 DLL 到系统目录或 Apache 的 bin 目录

5. 使用 WAMP/XAMPP/MAMP?

这类集成环境通常自带多个 PHP 版本。确保你命令行使用的 PHP 和你在配置中修改的是同一个。可以用:

where php

(Windows)或:

which php

(macOS/Linux)确认路径。

基本上就这些。只要 openssl 扩展正确启用,Composer 就不会再报这个错误。

以上就是composer 提示 "The openssl extension is required for SSL/TLS protection" 怎么办?的详细内容,更多请关注php中文网其它相关文章!

本文转自网络,如有侵权请联系客服删除。