答案:调整超时设置、优化脚本、换镜像源可解决Composer超时问题。首先可通过COMPOSER_PROCESS_TIMEOUT或--timeout延长超时时间;其次检查post-install-cmd脚本是否卡顿,手动运行并添加--no-interaction避免交互阻塞;若问题出现在下载阶段,建议切换至阿里云等国内镜像源加速;同时确保PHP的max_execution_time和memory_limit足够高,以支持大型项目安装与脚本执行。

当你在使用 Composer 安装或更新 PHP 包时遇到 "The process timed out" 错误,通常是因为某个脚本或网络请求执行时间过长,超过了 Composer 默认的超时限制。这个问题常见于运行 post-install 脚本、下载大包或网络环境较差的情况。下面提供几种有效解决方案。
Composer 默认的进程超时时间为 300 秒(5 分钟)。你可以通过设置环境变量或命令行参数来延长它。
方法一:使用环境变量在运行 composer 命令前,设置超时时间(单位为秒):
<pre class="brush:php;toolbar:false;">export COMPOSER_PROCESS_TIMEOUT=600 composer install
你也可以在命令中临时设置:
<pre class="brush:php;toolbar:false;">php -d memory_limit=-1 composer.phar install --timeout=600
超时常发生在执行 post-install-cmd 或 post-update-cmd 钩子时,比如生成 Laravel 的应用密钥、清除缓存等操作卡住。
查看 composer.json 中的 scripts 部分:
<pre class="brush:php;toolbar:false;">"scripts": {
"post-install-cmd": [
"php artisan key:generate",
"php artisan config:cache"
]
}
如果这些命令本身执行缓慢或卡死,会导致超时。可以尝试:
如果超时出现在依赖下载阶段,可能是连接 packagist.org 网络不稳定。
切换到国内镜像源可显著提升速度:
<pre class="brush:php;toolbar:false;">composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
这会全局设置阿里云镜像。完成后恢复默认可运行:
<pre class="brush:php;toolbar:false;">composer config -g --unset repos.packagist
虽然不是 Composer 直接控制,但某些脚本依赖 PHP 的 max_execution_time。
检查 php.ini 设置:
<pre class="brush:php;toolbar:false;">max_execution_time = 300 memory_limit = 512M
建议在 CLI 模式下适当调高,尤其是处理大型项目时。
基本上就这些。调整超时设置、优化脚本、换镜像源,基本能解决绝大多数 "The process timed out" 问题。关键是先判断超时发生在下载阶段还是脚本执行阶段,再对症处理。
以上就是解决 composer 提示 "The process timed out" 超时问题的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号