“connection refused”或“curl error 7”是防火墙拦截所致,非composer或php配置问题;企业网、杀毒软件常拦截cli工具对packagist.org/github.com的443端口https请求;验证可用curl -v测试tcp连接与tls握手阶段;镜像源url必须以斜杠结尾且键名准确(如repo.packagist),配置错误将静默失效;务必执行composer clear-cache清除旧缓存;临时禁用tls校验仅限调试,上线前必须恢复;全局配置优先于项目级repositories,且需检查http_proxy等环境变量干扰。

“Connection refused”或“cURL error 7”是防火墙拦了,不是Composer坏了
这类报错说明请求压根没发出去,或者发出去后没收到响应——不是 Composer 版本低、PHP 扩展没开(php -m | grep curl 能看到就 OK),而是系统级网络链路被阻断。企业网、学校网、某些杀毒软件(如火绒/360)常默认拦截 CLI 工具的 HTTPS 连接,尤其对 packagist.org 和 github.com 的 443 端口。
验证方式很简单:
- 运行 curl -v https://mirrors.aliyun.com/composer/,如果卡在 * Connected to 就是 TCP 层被拦;
- 如果卡在 * TLS handshake,大概率是中间人代理(如 Zscaler、Netskope)在解密 HTTPS 流量,而 Composer 默认校验证书链失败。
切镜像源必须带斜杠,且键名不能写错
镜像配置写错一个字符就静默失效,不报错也不提示。阿里云镜像已全面停用 HTTP,只支持 HTTPS,且 URL 必须以斜杠结尾:
- ✅ 正确命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - ❌ 错误示例:
https://mirrors.aliyun.com/composer(少斜杠 → 拼成/composerpackages.json导致 404) - ❌ 键名写成
repos.packagist或repo.packagist.org→ fallback 回官方源,白配
配完立刻清缓存:composer clear-cache,否则旧失败记录还在,重试照样走原地址。
临时绕过 TLS 校验只用于调试,别留在线上环境
如果确认是 HTTPS 解密代理导致 unable to get local issuer certificate,可临时关掉校验验证是否为真因:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer config -g secure-http false-
composer config -g cafile /dev/null(Linux/macOS)或composer config -g cafile "C:\cacert.pem"(Windows,需指定路径)
⚠️ 注意:secure-http false 会让 Composer 允许非 HTTPS 源,上线前必须删掉;cafile 配置错误反而会加重问题,优先用 php --ini 找到真实加载的 php.ini,在里面设 curl.cainfo。
别信 composer.json 里的 repositories,全局配置才生效
项目级 composer.json 中的 repositories 配置优先级低于全局设置,且容易被 fallback 覆盖。企业网下更建议统一用全局镜像:
- 查当前生效源:
composer config -g repo.packagist - 删掉可能冲突的本地配置:
composer config --unset repositories - 确认代理没捣鬼:
echo $HTTP_PROXY、echo $HTTPS_PROXY,必要时unset HTTP_PROXY HTTPS_PROXY
真正卡点往往不在 Composer 本身,而在你没意识到的那层网络策略——比如某款国产安全软件静默拦截了所有 PHP CLI 进程的出站连接,关掉它比调任何配置都快。










