让 Composer 信任自签名证书需将证书加入系统或 PHP 的 CA 信任链。1. 推荐将证书(.crt/.pem)放入系统信任库:Linux 使用 update-ca-certificates,macOS 通过“钥匙串访问”设为“始终信任”,Windows 导入“受信任的根证书颁发机构”。2. 若无法修改系统,可配置 PHP 的 openssl.cafile 或 cainfo 指向包含自签名证书的自定义 CA bundle 文件并重启服务。3. 临时方案(不推荐生产):全局禁用 TLS 验证(composer config --global disable-tls true)或改用 HTTP。4. 高级用法可为特定仓库配置证书路径,但依赖 PHP 层支持。验证方法:运行 php -r "var_dump(openssl_get_cert_locations());" 确认证书位置生效。核心是确保 PHP SSL 扩展能验证通过,配置后 Composer 即可访问私有 HTTPS 仓库。

让 Composer 信任自签名的 HTTPS 证书源,关键在于将你的自签名证书添加到系统或 Composer 使用的 CA 信任链中。Composer 基于 PHP 的 cURL 或 Stream 扩展发起 HTTPS 请求,因此它依赖于底层 PHP 配置的证书验证机制。以下是几种可行的方法:
这是最推荐的方式,因为它对整个系统生效,适用于所有使用系统证书的应用(包括 Composer)。
Linux(以 Ubuntu/Debian 为例):
完成后,系统会自动将该证书加入信任列表,PHP 和 Composer 都会识别。
macOS:
Windows:
如果你无法修改系统证书库,可以配置 PHP 使用一个包含你自签名证书的 CA bundle 文件。
Composer 在运行时会读取此配置进行证书验证。
仅用于测试环境,存在安全风险。
这些操作会让所有请求绕过证书检查,容易遭受中间人攻击。
Composer 支持为某个仓库指定证书,但实际依赖 PHP 的上下文,较难单独控制。更可靠的方式仍是确保系统或 PHP 层面已信任该证书。
你可以通过以下方式测试是否生效:
php -r "var_dump(openssl_get_cert_locations());"
查看当前 PHP 使用的证书位置。
基本上就这些。让 Composer 信任自签名证书的核心是让 PHP 的 SSL 扩展能验证通过,重点检查你的证书是否已正确部署到信任链中。配置完成后,Composer 就可以正常访问私有 HTTPS 仓库了。
以上就是如何让 composer 信任自签名的 HTTPS 证书源?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号