先查composer config --list | grep -E "(process-timeout|http.timeout)",再用COMPOSER_PROCESS_TIMEOUT=600 composer install -vvv | head -20确认实际生效值为600,同时检查PHP的default_socket_timeout是否足够。

怎么看COMPOSER_PROCESS_TIMEOUT是否生效
环境变量没传进子进程是最常见失效原因。Linux/macOS下export COMPOSER_PROCESS_TIMEOUT=600后直接跑composer install,变量不会继承到git或unzip这些子命令里;Windows用set再跟&&也一样——子shell不认。真正管用的写法只有两种:COMPOSER_PROCESS_TIMEOUT=600 composer install(Linux/macOS),或set COMPOSER_PROCESS_TIMEOUT=600 && composer install(Windows CMD)。CI脚本里尤其容易漏掉这点,建议统一用env显式注入:env COMPOSER_PROCESS_TIMEOUT=600 composer install。
为什么COMPOSER_HTTP_TIMEOUT设了还是卡在Downloading
COMPOSER_HTTP_TIMEOUT只控制单次HTTP请求(DNS+TLS+首字节+body传输),但Composer下载一个包可能发起多次请求:先查packages.json,再取dist ZIP URL,最后才发GET。如果卡在Downloading https://mirrors.aliyun.com/composer/dists/xxx.zip,说明是最后一次请求超时;但如果卡在Loading composer repositories with package information,那大概率是DNS或镜像源根证书问题,调这个变量没用。验证方法:用curl -v --max-time 30 https://mirrors.aliyun.com/composer/packages.json手动测一次,看是连接失败、TLS握手卡住,还是返回了但body迟迟不来。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
process-timeout和--timeout参数谁在起作用
--timeout只对composer install和composer update主流程计时,不包括git clone、unzip、post-install-cmd这些子任务;而COMPOSER_PROCESS_TIMEOUT(或process-timeout配置)才是真正在杀git进程的开关。典型错误是:设了--timeout=1800,结果git clone卡死20分钟还在后台跑——因为git本身没被限制。所以必须配COMPOSER_PROCESS_TIMEOUT=300(5分钟)兜底。注意:这个值设太高会掩盖真实问题,比如权限不足导致git反复重试却不出错,建议调试期先用60,确认流程通了再调高。
怎么确认当前生效的超时配置
别猜,直接看Composer自己读到的值:composer config --list | grep -E "(process-timeout|http.timeout)"。但要注意优先级:环境变量 > 全局config > 项目config > 默认值。如果composer config -g process-timeout输出300,但COMPOSER_PROCESS_TIMEOUT=600已设置,那实际就是600。更彻底的办法是加-vvv运行:COMPOSER_PROCESS_TIMEOUT=600 composer install -vvv 2>&1 | head -20,开头几行会打印“Process timeout [600]”,这就是它真正采用的数值。另外,PHP底层的default_socket_timeout(php.ini里)也得检查,它会影响curl和file_get_contents,哪怕Composer变量全设对了,这里还是30秒的话,HTTP层照样会提前断。

















