windows 上 composer install 特别慢的根本原因是 ntfs 文件系统处理大量小文件效率低,叠加 git 行尾转换、defender 实时扫描及 php 配置不当;禁用 git clone 改用 zip、排除 defender 扫描目录、启用 opcache 可将耗时从 3 分钟降至 20 秒内。

composer install 为什么在 Windows 上特别慢
根本原因是 Windows 的文件系统(NTFS)对大量小文件的读写效率低,加上 Composer 默认启用的 git clone 和 unzip 操作会触发大量磁盘 I/O,而 PHP 的 proc_open 在 Windows 下启动子进程开销也比 Linux 高得多。更关键的是,Windows 版 Git for Windows 默认启用 core.autocrlf=true,导致每次检出都做行尾转换,拖慢依赖解包。
禁用 git clone 改用 zip 包安装
Composer 默认优先走 git clone(尤其对 dev 分支),但在 Windows 上这一步最卡。强制它走 zip 包能跳过 Git 开销,提速 3–5 倍。
- 全局设置:
composer config -g prefer-stable true+composer config -g use-zip true - 项目级覆盖(推荐):在
composer.json里加"config": {"use-zip": true} - 注意:部分私有仓库或含 post-install-cmd 的包可能不兼容 zip 模式,遇到
Failed to download ... No zip archive found就得关掉
关闭 Windows Defender 实时扫描临时目录
Composer 解压、生成 autoload 文件、写 vendor 目录时,Defender 会逐个扫描每个 .php 文件——这是 Windows 下最隐蔽的性能杀手。
极速网店升级内容:1.网店系统升级到Net2.0框架2.网店系统架构升级,使系统速度提升30%3.修正购物车下一步容易出错的问题4.修正会员删除的Bug5.修正广告时间不能选择的问题6.修正程序的兼容问题2008版升级内容如下:1、修正打SP2后用户登陆时出错的问题;2、修正用户列表错误的问题;3、修正程序的兼容性问题;4、修正用户Cookie加密码乱码的问题5、修正程序中存在的小BUG;6、优化
- 把
%TEMP%和项目根目录加入 Defender 排除列表(路径需具体到完整盘符,如C:\myproject) - 检查是否生效:运行
composer install -vvv,看日志里Extracting...阶段耗时是否从分钟级降到秒级 - 别只排除
vendor/:Defender 对%TEMP%\composer_archive*的扫描同样致命
PHP 配置和运行环境微调
默认的 Windows PHP(尤其 XAMPP/WAMP 自带版本)常启用了过多 Xdebug 或 opcache 关闭,直接拖累 Composer 自身运行速度。
- 确认
php.ini中opcache.enable=1且xdebug.mode=off(不是注释掉,是明确设为 off) - 用
php -m | findstr opcache和php -m | findstr xdebug验证 - 避免在 WSL2 里跑 Windows 的 composer —— 跨文件系统调用 NTFS 会更慢;真要用 WSL,就整个项目放
/home/xxx/下,用 WSL 自带的 PHP + Composer
真正卡住的从来不是网络,而是本地 I/O 和防病毒软件的“热心帮忙”。关掉 Defender 扫描、切 zip 安装、确保 opcache 开着,这三步做完,composer install 从 3 分钟掉到 20 秒内是常态。但要注意:私有 GitLab 仓库若没开启 zip download 功能,use-zip 会直接失败,得单独处理。










