Composer默认超时300秒,可通过http.timeout调整;使用composer config –global http.timeout 600设置全局超时为600秒,或在项目目录运行相同命令进行局部配置,建议在网络较差时设为1200秒,并确保php.ini中default_socket_timeout不小于该值。
Composer 默认在执行网络请求时有超时限制,如果网络较慢或镜像源响应延迟高,可能会导致超时错误。可以通过配置 http.timeout 来调整这个时间。
修改全局超时时间
Composer 提供了 http.timeout 配置项,用于设置 HTTP 请求的最长等待时间(单位:秒)。
默认值通常为 300 秒(5 分钟),可以根据需要增加或减少。
使用以下命令设置全局超时时间:
composer config --global http.timeout 600
这会将超时时间设置为 600 秒(10 分钟)。
项目级配置
如果不希望影响全局设置,可以在当前项目的 composer.json 所在目录运行:
composer config http.timeout 600
该命令会在项目根目录的 composer.json 中生成或修改如下内容:
"config": { "http.timeout": 600 }
特殊情况:处理极慢网络或大包下载
如果你在网络环境较差的情况下安装包含大型依赖的项目,可以进一步提高超时时间:
- 设置为 1200 秒(20 分钟)适用于非常缓慢的连接
- 某些镜像站响应慢但稳定,适当延长可避免中断
注意:Composer 还受底层 PHP 的 default_socket_timeout 影响。确保 php.ini 中该值不小于 Composer 设置的超时时间:
default_socket_timeout = 600
基本上就这些。调整 http.timeout 能有效解决因网络延迟导致的安装失败问题,推荐在公司内网或海外服务器部署时根据实际情况优化。
以上就是Composer如何配置超时时间的详细内容,更多请关注composer php js json 镜像源 php composer json http