Windows10下Composer执行命令时7-Zip超时问题求助
解决Composer执行
composer update时7-Zip解压超时问题 问题场景
- 系统:Windows10
- 环境:Composer 2.5.8(最新版)、PHP 8.2.0(Wamp),已将
C:\ProgramData\ComposerSetup\bin、C:\wamp64\bin\php\php8.2.0及7-Zip路径加入系统PATH - 故障:执行
composer update(Drupal 9项目)时触发超时错误:
In Process.php line 1204:
The process ""C:\Program Files\7-Zip\7z.EXE" x -bb0 -y C:\wamp64\www\BDV-dev\vendor\composer\tmp-e8f98dc9f37c550099b83c482cb9eae9 -oC:\wamp64\www*****\vendor\composer\3ad6f7c4" exceeded the timeout of 300 seconds.
- 已排查:
composer diagnose显示zip扩展正常、7-Zip可用;尝试过重装Composer/7-Zip、切换至Wamp启用zip扩展、配置PATH,问题未解决
解决方案
1. 延长Composer进程超时时间
临时执行命令时直接指定超时(示例设置为600秒,可按需调整):
composer update --timeout=600
若需永久修改全局超时配置:
composer config --global process-timeout 600
2. 强制Composer使用PHP内置zip扩展
尽管composer diagnose显示zip扩展存在,Composer可能仍优先调用7-Zip,可手动强制切换为PHP内置zip:
- 全局配置:
composer config --global prefer-install dist composer config --global zip.extension true
- 项目级配置(编辑项目根目录
composer.json):
{ "config": { "zip": { "extension": true }, "prefer-install": "dist" } }
配置完成后清除缓存并重试:
composer clear-cache composer update
3. 优化7-Zip配置与临时目录
- 将7-Zip迁移至无空格路径(如
C:\7-Zip),更新系统PATH指向新路径,重启终端后重试 - 检查Composer临时目录(
C:\wamp64\www\BDV-dev\vendor\composer\tmp-*)所在磁盘的剩余空间,确保当前用户拥有读写权限 - 升级7-Zip至最新版本,避免旧版本的性能缺陷
4. 调整PHP配置提升性能
编辑Wamp中PHP 8.2.0的php.ini文件,修改以下参数:
memory_limit = 1024M max_execution_time = 600
保存后重启Wamp服务,再执行composer update
内容的提问来源于stack exchange,提问作者Clément BK
相关产品推荐
相关产品推荐

