composer网络连接超时主因是默认30秒超时和ipv6探测延迟,应调高http.timeout至600秒并设composer_ipv4=1强制ipv4,同时确保镜像配置正确(单数repo.packagist、含composer type、https末尾带斜杠)且清缓存。

Composer网络连接超时,90%不是你网络断了,是它默认等30秒就放弃、300秒就报
为什么composer install卡在“Loading composer repositories”
这不是下载慢,是 Composer 在等镜像源返回 packages.json 的元数据。默认单源等待 30 秒才切下一个,而 DNS 解析慢、TLS 握手卡、IPv6 fallback 都会拖满这 30 秒,导致看起来“卡住”。
- 临时缓解:运行
composer config -g http.timeout 600(单位秒),把每次 HTTP 请求上限拉到 10 分钟 - 更治本:加环境变量
COMPOSER_IPV4=1,强制走 IPv4,绕过 IPv6 探测延迟 - 别信“多加几个镜像源就能快”:Composer 不会在超时/502/证书错误时 fallback,只会在 404(包不存在)时才试下一个
composer config -g repo.packagist 命令总不生效?检查这四点
这条命令静默失败率极高,不报错但根本没写进去。必须同时满足:
-
repo.packagist是单数,不能写成repos.packagist(多一个 s 就写进无效字段) - 中间的
composer是 type 值,不可省略;漏掉它,Composer 2.x 会 fallback 到默认源 - URL 必须是 HTTPS 开头,且末尾带斜杠:
https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(少斜杠直接 404) - Windows 用户改完要重启终端,否则 PHP 进程读不到新环境变量
验证是否真生效:运行 composer config -g repo.packagist,输出必须是完整 JSON 对象或至少含 "https://mirrors.aliyun.com/composer/" 字符串;空、null 或仍是 https://packagist.org 都说明失败。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
宝塔、CI、计划任务里镜像不生效?用户权限才是关键
全局配置写在 ~/.composer/config.json,但它只对执行命令的当前用户有效。宝塔面板、GitHub Actions、Docker 构建脚本往往以 www、www-data 或 runner 用户运行,根本读不到你 root 下的配置。
- 先确认实际执行用户:在宝塔终端跑
whoami,或查计划任务日志里的 UID - 给对应用户单独配:比如是
www用户,就执行sudo -u www composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - CI 环境同理,确保构建脚本中
composer config -g和后续composer install是同一个用户身份
换镜像后还是慢?清缓存和关干扰项比调参数更重要
镜像配置成功 ≠ 立刻生效。旧缓存里还存着 packagist.org 的元数据,Composer 会优先读缓存,哪怕配置已改,它仍试图从旧地址拉校验信息。
- 必须执行
composer clear-cache,否则大概率继续卡在 DNS 或 TLS 阶段 - 项目级
composer.json中若存在repositories字段,会直接覆盖全局配置;可用composer config --list和composer config --list --global对比确认 - 禁用过时插件如
hirak/prestissimo:它在 Composer 2.2+ 中不仅无效,还会干扰原生parallel-downloads并发机制 - 如果卡在
Resolving dependencies,跟网络无关——那是本地版本求解器在穷举组合,收紧minimum-stability、删掉"*"或"dev"约束更有效
最常被忽略的是缓存和用户权限:配完镜像不清理缓存,等于没配;给 root 配了却让 www 用户跑命令,等于白配。










