“connection refused”或“curl error 7”是系统连通性中断,非composer配置错误;需先用dig或ping验证dns解析,再检查镜像url格式、清缓存,并用curl -i确认镜像源http状态。

Connection refused 或 cURL error 7 出现时,Composer 根本没发出去请求,或发出去后被网络中间层直接拒绝——这不是 Composer 配置错,是系统连通性断了。先别调 http.timeout,它对这阶段完全无效。
卡在 Resolving dependencies 是 DNS 问题,不是代理能救的
这一步 Composer 只做域名解析(查 mirrors.aliyun.com 或 packagist.org 的 IP),不走 HTTP、不读代理、不碰超时设置。
- 运行
dig mirrors.aliyun.com @114.114.114.114,看是否返回有效 IPv4 地址;若超时或无响应,说明本地 DNS 被污染或不可用 - 临时换 DNS:Linux/macOS 编辑
/etc/resolv.conf加一行nameserver 8.8.8.8;Windows 在网络适配器手动设 - 检查
/etc/hosts(或C:\Windows\System32\drivers\etc\hosts)是否误写了一行把mirrors.aliyun.com指向了127.0.0.1或错误 IP - 用手机热点试一次——很多企业网会屏蔽
packagist.org和 GitHub 域名,但热点通常直连通畅
卡在 Downloading 才该动 http.timeout 和代理
只有到这一步,Composer 才真正发起 HTTP 请求,此时 http.timeout 和 http.proxy 才起作用。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 全局延长超时:
composer config -g http.timeout 600(单位秒,600=10 分钟) - 项目级更稳妥(尤其 CI 环境):在
composer.json的"config"段加"http.timeout": 600 - 代理必须用
http.proxy配置项,不是https.proxy或其他别名:composer config -g http.proxy http://127.0.0.1:8080 - 带认证的代理 URL 格式为:
http://user:pass@127.0.0.1:8080,密码含特殊字符需 URL 编码
镜像源配置失败常静默不报错,但根本没生效
换源命令漏一个字符、少一个斜杠、类型写错,都会导致配置“看似成功”,实则完全不生效。
- 必须严格匹配键名:
repo.packagist(注意是repo单数,不是repos) -
type值必须是composer,不能省略,也不能拼成compose - URL 必须是 HTTPS 且末尾带
/:https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(少斜杠会拼出非法路径/composerpackages.json) - 验证是否真生效:
composer config -g repo.packagist输出必须是完整 JSON,如{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 换源后必须执行
composer clear-cache,否则旧缓存仍会复用失败地址
curl -I 验证镜像源比看 Composer 日志更可靠
Composer 不输出真实 HTTP 状态码,curl -I 能直接暴露网关拦截、证书问题或路径错误。
- 执行
curl -I https://mirrors.aliyun.com/composer/,期望返回HTTP/2 200或HTTP/1.1 200 - 若返回
403 Forbidden、502 Bad Gateway或卡住,说明企业网关或防火墙已拦截该域名或路径 - 若返回
unknown host,是 DNS 层污染,和 Composer 配置无关 - 别测
https://packagist.org——它在国内基本不可达,测了只会误导你去改本地配置
composer.lock 里硬编码着旧地址、repositories 字段在 composer.json 里残留干扰。这三个点不处理,再调超时也没用。










