该错误是因Composer无法验证SSL证书导致,解决方法包括:检查PHP的openssl扩展是否启用;在php.ini中配置curl.cainfo和openssl.cafile指向有效的cacert.pem文件;下载并正确设置CA证书路径;重启服务。临时方案可禁用TLS验证(不推荐生产环境);也可切换为国内镜像源如阿里云加速访问。优先推荐配置CA证书以保障安全性和稳定性。

这个错误是因为 Composer 在尝试通过 HTTPS 请求包信息或下载依赖时,无法验证 SSL 证书的颁发机构(CA),通常出现在 Windows 系统或本地 CA 证书未正确配置的环境中。
检查 PHP 的 openssl 配置
确保 PHP 启用了 OpenSSL 扩展,并且 php.ini 中正确配置了 CA 证书路径:
- 打开 php.ini 文件(可通过 php --ini 查看位置)
- 确认 extension=openssl 没有被注释
- 查找 curl.cainfo 和 openssl.cafile,设置为有效的 CA 证书文件路径,例如:
curl.cainfo="C:\php\cacert.pem"
openssl.cafile="C:\php\cacert.pem"
下载并配置 CA 证书文件
如果系统缺少根证书,需要手动下载并指定:
- 从 https://www.php.cn/link/5fe4dadcdb001d8566cd20e6d8a20251 下载最新的 cacert.pem
- 保存到本地路径,如 C:\php\cacert.pem
- 在 php.ini 中设置上述两个参数指向该文件
- 重启相关服务(如 Web 服务器或命令行环境)
临时关闭 SSL 验证(不推荐生产环境使用)
如果只是测试或内网环境,可临时跳过证书验证:
composer config -g disable-tls truecomposer config -g secure-http false
⚠️ 这会降低安全性,容易受到中间人攻击,仅用于调试。
使用国内镜像源(可选)
避免直接连接国外 HTTPS 地址,可切换为国内镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/阿里云、Laravel China 等都提供安全的镜像服务,减少网络问题。
基本上就这些方法。优先推荐配置正确的 CA 证书文件,既解决问题又保障安全。Windows 用户常因缺少系统级证书而报错,补上 cacert.pem 并在 php.ini 中引用即可根本解决。










