composer默认不读http_proxy环境变量,必须同时配置http-proxy和https-proxy两个字段,缺一则https请求静默直连失败;腾讯云环境更推荐切换国内镜像源。

Composer 默认不读 HTTP_PROXY 环境变量,只认自己配置的 http-proxy 和 https-proxy 两个字段——缺一不可,否则 HTTPS 请求(比如访问 packagist.org)会静默 fallback 到直连,最终卡在 “Resolving dependencies” 或报 cURL error 35。
为什么只配 http-proxy 还是连不上 Packagist
Packagist 全量走 HTTPS,而 Composer 对代理是协议隔离路由的:http-proxy 只管 HTTP 请求,https-proxy 才用于建立 CONNECT 隧道处理 HTTPS 流量。漏掉后者,所有仓库请求实际仍被系统直连拦截或超时,且无明确错误提示。
-
https-proxy的值必须是http://开头(例如http://127.0.0.1:7890),不是https://——这是 Composer 的硬性约定,填错会导致静默失败 - 代理地址必须带完整协议和端口,漏掉
http://会触发Invalid URI - 若代理需要认证,用户名密码含
@、/、:必须 URL 编码,例如密码pa@ss/word要写成pa%40ss%2Fword - Windows 下若提示
Could not write to file,检查%APPDATA%\Composer\config.json目录是否存在且有写权限
全局配代理的正确命令与验证方式
用 composer config -g 写入用户级全局配置最安全,避免手动编辑 ~/.composer/config.json 出错。必须两条都执行:
composer config -g http-proxy http://127.0.0.1:7890composer config -g https-proxy http://127.0.0.1:7890
验证是否生效:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer config -g --list | grep -E "(http|https)-proxy" - 输出里必须同时出现两行,且 URL 格式正确(带
http://、端口、无空格) - 临时测试:用
curl -x http://127.0.0.1:7890 -I https://packagist.org/packages.json看能否返回200,排除代理进程未启动或防火墙拦截
腾讯云服务器上更推荐换镜像,不是配代理
你在腾讯云 CVM 上跑 composer install 卡住,大概率不是网络不通,而是 DNS 解析慢或 TLS 握手卡在海外节点。直接切腾讯云官方镜像更快、更稳:
- 执行
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - 立刻清缓存:
composer clear-cache - 验证:
composer show laravel/framework --no-ansi | head -n 3,看到 URL 含mirrors.cloud.tencent.com就说明生效了 - 注意:URL 末尾的
/不能少,少了会报Invalid repository type - 如果项目根目录
composer.json里写了repositories字段,它会覆盖全局配置,得先删掉或注释掉
NTLM 代理或公司内网场景下的特殊处理
Composer 原生不支持 NTLM 认证(常见于 Windows 域环境),设了 http-proxy 也会直接返回 407 Proxy Authentication Required。这时候不能靠改 Composer 配置解决:
- 必须引入中转代理工具,如
cntlm或px,让它们监听127.0.0.1:3128并处理 NTLM 认证 - 再让 Composer 连这个本地中转地址:
composer config -g http-proxy http://127.0.0.1:3128和https-proxy同理 - CI 或企业内网若已部署阿里云/腾讯云等全量镜像,且走内网直连,配代理反而多一层故障点,应优先禁用代理、启用镜像
最容易被忽略的是:代理配对必须严格一致(协议、端口、认证格式),而镜像切换后还要检查项目级 composer.json 是否覆盖了全局设置——这两处出问题,现象都是“明明配了却没用”。










