卡在 resolving dependencies 是 dns 或连通性问题,不是 timeout 配置能解决的——这一步根本没发 http 请求,composer 只是在查域名 ip;需用 dig/curl 验证解析与连通性,换 dns 或手机热点快速定位。

卡在 Resolving dependencies 是 DNS 或连通性问题,不是 timeout 配置能解决的
这一步根本没发 HTTP 请求,Composer 只是在查 packagist.org 或镜像域名的 IP 地址。改 http.timeout 完全无效,纯属白等。
- 运行
dig mirrors.aliyun.com @114.114.114.114,看是否返回有效 IP;若超时或无结果,说明 DNS 解析失败 - 检查
/etc/hosts(Linux/macOS)或C:\Windows\System32\drivers\etc\hosts(Windows),确认没误写packagist.org的错误映射 - 手动测连通性:
curl -v https://mirrors.aliyun.com/composer/packages.json,观察卡在Resolving host、TCP connect还是TLS handshake - 用手机热点试一次——很多企业/校园网会屏蔽
packagist.org和github.com,但热点通常通
卡在 Downloading https://… 才该调 http.timeout
这一阶段 Composer 正在拉取 packages.json 或 ZIP 包,失败报错通常是 cURL error 28、Could not fetch 或反复重试后静默退出——这些全是 http.timeout 控制的边界。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(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(单位秒,300~600 最常用) - 项目级更稳妥:
composer.json的"config"段加"http.timeout": 600 - 临时调试优先用环境变量:
COMPOSER_HTTP_TIMEOUT=600 composer install,避免污染配置 -
process-timeout在这里完全不生效;PHP CLI 的default_socket_timeout也会干扰,可绕过:php -d default_socket_timeout=600 $(which composer) install
报 The process timed out 或卡在 Executing command 是 COMPOSER_PROCESS_TIMEOUT 的责任区
这时候 Composer 已拿到包,正在解压、运行 post-install-cmd、git clone 私有仓库,甚至执行 php artisan optimize。错误里带 [RuntimeException] The process timed out 就是它。
- 新版 Composer 不再读取
composer config -g process-timeout,别信老教程 - 真正有效的只有环境变量:
COMPOSER_PROCESS_TIMEOUT=1200(Linux/macOS)或 Windows 系统变量 - CI 中建议设为
0(不限时),尤其首次安装或缓存失效时 - 若涉及私有 GitLab/GitHub 仓库,确保
git自身配置正常:git config --global http.sslVerify false(仅测试环境)
用了代理还连不上?curl -v 是唯一可信线索
Composer 不直接读取 HTTP_PROXY 环境变量(v2.2+ 才默认支持,旧版完全忽略),所以即使你 export 了代理,它仍可能走直连并卡在 TLS 握手或 DNS 阶段。
- 验证代理是否生效:
composer config -g http.proxy—— 若输出为空,说明没生效 - 正确设置方式:
composer config -g http.proxy http://127.0.0.1:8888(HTTP 代理)或https://127.0.0.1:8888(HTTPS 代理,注意协议) - 公司代理或抓包工具(如 Fiddler)常用自签名 CA,需下载根证书转 PEM 后执行:
composer config -g cafile /path/to/fiddler-root.pem - 临时排除干扰:
composer install -n -vvv,看日志里是否出现Proxy CONNECT字样
-vvv 输出的最后一行停在哪,就对应哪一层故障;而镜像源是否真生效、缓存是否已清、DNS 是否被污染,比调 timeout 值本身重要得多。










