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

这个提示说明你的 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-development 或 php.ini-production),查找这一行:
;extension=openssl去掉前面的分号 ;,变成:
extension=openssl保存文件后重启 Web 服务或命令行环境。
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 就不会再报这个错误。










