composer默认不支持多线程下载,其2.2+版本仅提供实验性并行下载(需手动启用parallel-downloads配置),真正高效方案是换国内镜像源、启用缓存、配置github token以突破api限流。
Composer 默认不支持多线程下载
Composer 本身是单进程 PHP 脚本,composer install 或 composer update 时所有包按依赖顺序串行解析、下载、解压,不存在“开启多线程”的配置开关。所谓“多线程加速”实际是绕过 Composer 原生逻辑,靠外部机制并行拉取 ZIP 包或复用本地缓存。
真正有效的提速手段:启用 composer config --global parallel-downloads 5
从 Composer 2.2 开始引入实验性并行下载支持(仍基于 cURL 多路复用,非系统级多线程),需手动启用:
-
composer config --global parallel-downloads 5—— 设置最大并发请求数(建议 3–8,过高易触发 GitHub 限流) - 仅对 ZIP 包下载生效(即
dist方式),source方式(git clone)不受影响 - 必须搭配支持
curl_multi的 PHP 环境,且open_basedir未禁用cURL - 若看到警告
parallel-downloads is experimental and may be removed in future versions,说明版本支持但行为不稳定,生产环境慎用
更稳定高效的替代方案:用 composer config --global repo.packagist composer https://packagist.org 换国内镜像 + 启用缓存
相比不可控的并行下载,换源和复用缓存收益更高、无兼容风险: