Composer 默认使用 HTTPS,通过配置 secure-http=true 可强制禁用 HTTP。需确保仓库地址为 HTTPS,如官方 Packagist 或阿里云、Laravel China 等镜像源,并通过 composer config 命令设置项目或全局配置,最后用 -vvv 验证请求均为 HTTPS。

Composer 默认会优先使用 HTTPS 协议与 Packagist 或自定义仓库通信。如果你发现 Composer 使用了 HTTP 或者想确保它只使用 HTTPS,可以通过以下几种方式强制启用 HTTPS。
确保你的 composer.json 或全局配置中没有引用任何使用 HTTP 的自定义仓库。例如,Packagist 的官方地址应为:
{ "repositories": [ { "type": "composer", "url": "https://packagist.org" } ] }如果你之前添加了 HTTP 地址,改为 HTTPS,或删除后让 Composer 使用默认值(默认就是 HTTPS)。
Composer 提供了一个选项来禁止通过不安全的 HTTP 协议下载包。在项目或全局的 config 中设置:
{ "config": { "secure-http": true } }开启 secure-http 后,Composer 会拒绝任何使用 HTTP 的仓库,防止意外降级到不安全连接。
你可以在项目目录下运行以下命令设置:
composer config secure-http true
这会在当前项目的 composer.json 中写入 config.secure-http = true。如需全局设置:
composer config --global secure-http true
某些国内镜像源可能曾提供 HTTP 接口。确保你使用的镜像是 HTTPS 的。例如,阿里云、Laravel China 的镜像都支持 HTTPS:
使用 HTTPS 镜像并配合 secure-http=true 可完全杜绝明文传输。
执行更新时观察网络请求是否走 HTTPS:
composer update -vvv
-vvv 参数显示详细日志,你可以看到每个请求的 URL 和协议。如果出现 HTTP,会直接报错(当 secure-http=true 时)。
基本上就这些。只要开启 secure-http 并确保仓库 URL 是 HTTPS,Composer 就不会使用 HTTP。这个机制简单有效,推荐所有项目默认开启。
以上就是如何强制composer使用https协议的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号