必须同时调整process-timeout和http-basic-timeout,前者管控整个命令生命周期(默认300秒),后者控制单次HTTP请求全过程(DNS解析、TLS握手、首字节等待及body传输,默认60秒),二者独立生效、不可替代,仅调其一无法解决下载卡在Downloading的超时问题。

process-timeout 和 http-basic-timeout 必须一起调,只改一个基本没用
Composer 下载中断超时,不是“网速慢”,而是两个独立超时机制在不同阶段同时卡死:一个管整个命令生命周期,一个管单次 HTTP 请求。不配对调整,换再多次镜像也白搭。
为什么composer install卡在Downloading就停住?
看 -vvv 输出最后一行——如果停在 Downloading https://...,说明是单次 HTTP 请求失败,不是整体流程超时。这时候起作用的是 http-basic-timeout(Composer 2.2+)或旧版的 http.timeout,它控制 DNS 解析、TLS 握手、首字节等待、整个 body 传输全过程,默认仅 60 秒,国内常见首字节延迟就超 100ms,根本撑不住。
-
process-timeout默认 300 秒,管的是从解析依赖、拉 ZIP、解压、运行 post-install-cmd 到生成 autoload 的全部耗时 -
http-basic-timeout默认 60 秒,管的是每个 GET 请求——哪怕 ZIP 差最后 1 字节没传完,也会在这里触发中断 - 两者不叠加,也不替代:process-timeout 不会延长单次 HTTP 连接;http-basic-timeout 也不会影响 git clone 耗时
临时生效和永久生效怎么设?
调试阶段优先用命令行参数,避免污染全局配置;确认可行后再写入全局。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 临时:运行
composer install --timeout=1200 --http-basic-timeout=300(注意:--http-basic-timeout 仅 Composer 2.2+ 支持) - 永久:执行
composer config -g process-timeout 1800和composer config -g http-basic-timeout 300 - 值设为 0 表示不限时,但容易卡死无响应,不建议
换镜像源比加 timeout 更治本
80% 的 “超时” 其实是源不稳定导致的连接抖动或首包延迟高,不是带宽问题。阿里云镜像能绕过 DNS 污染、TLS 握手抖动和国外源响应延迟。
- 设镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 必须清缓存:
composer clear-cache,否则仍可能读损坏的本地 ZIP - 验证是否生效:
composer config -g repo.packagist应输出对应 URL,且composer install --dry-run中下载链接要变成mirrors.aliyun.com - 注意:
"type": "git"的包会绕过镜像直连 GitHub,此时需额外配 Git 超时或强制走 HTTPS
中断后重试前必须精准清理残留
Composer 没有断点续传,中断后留下的破损 ZIP、截断的 installed.json 或卡死的临时目录会持续干扰后续执行。
- 别直接删整个
vendor/——会导致autoload.php缺失,后续命令全报错 - 精准清理:
rm vendor/autoload.php+rm -rf vendor/composer/ - 再运行:
composer dump-autoload→composer install - 若仍报
Failed to extract或Content-Length mismatch,说明缓存已坏,必须composer clear-cache
vendor/ 里那些看似完整、实则校验失败的包文件——它们不会自己消失,也不会被自动跳过。

















