composer代理必须同时配置http-proxy和https-proxy,否则https请求直连超时卡在“loading composer repositories”;https-proxy值仍须以http://开头,特殊字符需url编码,ntlm代理需cntlm中转,镜像源与代理不可混用。

composer config -g http-proxy 和 https-proxy 必须同时设
只配 http-proxy,composer install 仍会卡在 “Loading composer repositories” —— 因为 Packagist 全量走 HTTPS,而 Composer 不会自动把 HTTPS 请求 fallback 到 http-proxy。必须两条都执行:
composer config -g http-proxy http://10.1.1.100:8080composer config -g https-proxy http://10.1.1.100:8080
注意:https-proxy 的值仍是 http:// 协议,不是 https://;填错直接被忽略,且无报错提示。
验证是否生效:运行 composer config -g --list | grep proxy,应看到两行非空输出;再执行 composer diagnose,确认 HTTP proxy 字段显示正确地址。
NTLM 代理必须用 cntlm 或 px 中转
公司内网常见 Windows 域环境 NTLM 认证代理,Composer 原生不支持,直接配 http://user:pass@proxy:8080 会返回 407 Proxy Authentication Required 或连接失败。
- 推荐方案:本地起
cntlm(或px),监听127.0.0.1:3128,让 Composer 连这个地址 - 验证中转链路:用
curl -x http://127.0.0.1:3128 -I https://packagist.org/packages.json测试通不通 - 若返回
SSL certificate problem,说明代理做了 HTTPS 拦截,需将代理 CA 证书加到 PHP 的openssl.cafile或系统信任链
别试 http_proxy 环境变量——Composer 默认不读它,设了也白设。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
镜像源和代理不能混用
如果已用 composer config -g repo.packagist composer https://your-mirror.com 切了内网镜像,就不要再配 http-proxy。否则 Composer 会先尝试连镜像源,失败后又 fallback 到 packagist.org,再走代理——路径混乱,现象仍是卡住或静默失败。
- 有镜像源 → 清掉所有 proxy 配置:
composer config -g --unset http-proxy、composer config -g --unset https-proxy - 没镜像源但有代理 → 确保
repo.packagist仍指向默认源(或显式留空) - 二者共存的唯一安全方式:镜像服务本身部署在代理出口之后,且 Composer 只连镜像地址(不走外网)
最容易被忽略的是:composer config -g repo.packagist 输出如果是 {"type": "composer", "url": "https://repo.packagist.org"},说明镜像根本没生效,此时 proxy 配置才真正起作用——但你可能以为自己在走镜像。
代理地址里含特殊字符必须 URL 编码
密码含 @、/、: 等字符时,不编码会导致 Invalid URI supplied 或解析出错(比如把 @ 当作用户/密码分隔符)。
- 正确做法:先用
php -r "echo rawurlencode('pa@ss:word');"得到pa%40ss%3Aword,再拼成http://user:pa%40ss%3Aword@10.1.1.100:8080 - 域名里带
@(如user@corp.com)也要编码,否则 Composer 截断错误 - 端口必须写在 URL 里(
:8080),不存在单独的 “proxy port” 配置项
代理配置本身几秒就能跑完,真正耗时间的是验证链路是否通——curl -x 手动测一次,比反复重试 composer install 高效得多。










