答案是需启用php的Openssl扩展。检查php.ini文件,确保extension=openssl未被注释,并确认PHP版本支持OpenSSL,重启服务后验证配置生效,即可解决composer的https请求错误。

这个提示说明你的 PHP 环境中没有启用 OpenSSL 扩展,而 Composer 在进行 HTTPS 请求(比如从 packagist.org 下载包)时需要 OpenSSL 来保证连接的安全性。要解决这个问题,你需要确保 PHP 的 OpenSSL 扩展已正确安装并启用。
1. 检查 openssl 扩展是否启用
运行以下命令查看 PHP 是否已经启用了 OpenSSL:
php -m | grep -i openssl
如果输出包含 openssl,说明扩展已加载。如果没有输出,说明未启用。
2. 启用 OpenSSL 扩展
打开你的 php.ini 配置文件,通常位于:
- windows: C:xamppphpphp.ini 或 PHP 安装目录下的 php.ini
- linux/macos: /etc/php/{版本}/cli/php.ini 或 /usr/local/etc/php/php.ini
使用文本编辑器打开 php.ini,找到这一行:
;extension=openssl
去掉前面的分号 ;,使其变为:
extension=openssl
保存文件后重启相关服务(如 apache)或直接测试 CLI 环境。
3. 确认配置生效
再次运行:
php -r “echo OPENSSL_VERSION_TEXT;”
如果有版本信息输出,说明 OpenSSL 已正常工作。
4. 其他可能原因
- PHP 编译时未包含 OpenSSL 支持:某些自定义编译的 PHP 版本可能没包含 OpenSSL 模块。可重装 PHP 或使用官方预编译版本(如 XAMPP、WAMP、Homebrew 安装的 PHP)。
- CLI 使用了不同的 php.ini:确保你编辑的是 CLI 模式下使用的 php.ini。可通过 php –ini 查看当前加载的配置文件路径。
- 缺少系统级 SSL 库(Linux):可尝试安装依赖:
apt-get install libssl-dev(debian/ubuntu)
yum install openssl-devel(centos/RHEL)
基本上就这些。只要确保 extension=openssl 在 php.ini 中启用,并且 PHP 是正常编译支持 SSL 的版本,Composer 就不会再报这个错误。
以上就是composer提示“The openssl extension is required for SSL/TLS protection”如何解决的详细内容,更多请关注php中文网其它相关文章!


