必须同时调高process-timeout和http-basic-timeout,因前者控整体流程、后者管单次HTTP下载;镜像配置需满足键名、type、URL结尾斜杠三条件才生效,否则超时无法缓解。

国内源 timeout 不是单纯调高 process-timeout 就能解决的,关键在于区分「命令总耗时」和「单次 HTTP 请求耗时」——两者都得设,且镜像配置本身必须生效,否则调再久也连不上。
为什么改了 process-timeout 还超时?
因为 Composer 有两个独立超时机制:process-timeout 控制整个 composer install 流程(含依赖解析、下载、解压、autoload 生成),而 http-basic-timeout 才真正管每个包的 ZIP 下载请求。国内镜像偶尔响应慢(比如大包走 CDN 回源),http-basic-timeout 默认仅 60 秒,远不够。
-
process-timeout默认 300 秒(5 分钟),适合调到1800(30 分钟)防整体卡死 -
http-basic-timeout默认 60 秒,国内镜像建议至少设为300(5 分钟),部分大 dist 包需600 - 注意:
http-basic-timeout仅 Composer 2.2+ 支持;旧版本只能靠--timeout硬扛,或升级 Composer
composer config -g repo.packagist 静默失效的三大条件
换源不生效,90% 是因为没同时满足这三点:
- 键名必须是
repo.packagist(单数,不能是repos.packagist或repositories) -
type值必须显式写成"composer"(不能省略,也不能写成"packagist") - URL 必须 HTTPS 且结尾带
/(例如https://mirrors.cloud.tencent.com/composer/✅,少斜杠就 404)
验证是否成功:运行 composer config -g repo.packagist,输出必须是完整 JSON 对象,如 {"type": "composer", "url": "https://mirrors.cloud.tencent.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
镜像地址现在还能用哪些?
截至 2026 年 10 月,阿里云、PHPComposer、Laravel China 镜像均已下线或返回 404。实测稳定可用的只剩两个:
- 中科大镜像:
https://packagist.mirrors.ustc.edu.cn/(同步快,HTTP/2 支持好) - 腾讯云镜像:
https://mirrors.cloud.tencent.com/composer/(华南延迟低,私有源兼容强,末尾/不可省)
清华 TUNA 镜像(https://packagist.mirrors.tuna.tsinghua.edu.cn/)已停止维护,不建议使用。配置后务必用 composer diagnose 检查 Repo packagist.org: 行是否显示你配的镜像域名,而不是 packagist.org。
CI/CD 环境里 timeout 容易被忽略的点
容器环境每次重启都会丢失全局 config,光跑 composer config -g 没用:
- 必须在 CI 脚本开头显式设置环境变量:
COMPOSER_PROCESS_TIMEOUT=1800和COMPOSER_HTTP_BASIC_TIMEOUT=300 - 同时指定
COMPOSER_HOME(如/tmp/composer),避免不同 job 写冲突 - 禁用并行下载能降低连接压力:
composer config -g use-include-path false,配合COMPOSER_NO_INTERACTION=1防交互阻塞
最麻烦的是 autoload 生成阶段卡住——这不是网络问题,是 PHP 在扫描 vendor 下 symlink 或嵌套过深的包,容易触发系统 I/O 限制或内存超限,得单独调高 PHP 的 memory_limit 和 max_execution_time。

















