只有运行 composer --version 成功输出版本号才算真正装好;90%“安装失败”源于 php 环境或 path 配置问题,需先确保 php -v 可用、php ≥7.4 且 openssl/curl 扩展已启用,再通过 composer-setup.exe 正确安装并配置镜像与 defender 排除。

能用 composer --version 输出版本号,才算真正装好——90% 的“安装失败”其实卡在 PHP 环境或 PATH 配置上,不是 Composer 本身的问题。
php -v 没反应?先别碰 Composer
Composer 是个 PHP 脚本,它根本跑不起来,除非系统里已经有能被命令行直接调用的 php.exe。打开 CMD 或 PowerShell,敲 php -v:
- 没输出、报“不是内部或外部命令” → 说明 PHP 没进 PATH,去系统环境变量的
Path里加 PHP 安装目录(比如C:\php8.2或C:\xampp\php) - 有输出但版本低于
7.4→ Composer 2.x 不支持,得升级 PHP;8.0+更稳妥 - 输出了版本,但提示
openssl或curl扩展未加载 → 找到php.ini(运行php --ini看路径),去掉这两行前面的分号:extension=openssl、extension=curl,保存后重启终端
用 Composer-Setup.exe 还是手动放 composer.phar?
Windows 下推荐官方 Composer-Setup.exe,它比手动方式少踩三类坑:
- 自动探测你系统里哪个
php.exe可用(而不是随便找一个或报错) - 默认勾选 “Add to PATH”,把
C:\ProgramData\ComposerSetup\bin写进系统变量 - 生成
composer.bat文件,解决 Windows 下php composer.phar调用不一致的问题
手动放 composer.phar 的唯一合理场景:你在受限环境(如某些企业内网)无法运行 .exe,且已确认 php 命令全局可用。此时必须把 composer.phar 所在目录也加进 Path,否则 composer 命令依然无效。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer --version 成功了,但 create-project 卡在 Loading composer repositories…
这不是安装问题,是网络源没切对。Packagist 官方源(https://packagist.org)在国内直连极不稳定,DNS 解析慢、连接常超时。执行这行命令换阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
注意几个关键点:
-
-g表示全局配置,影响所有项目;如果项目根目录下已有composer.json且里面写了"repositories"字段,那项目级配置会覆盖全局设置 -
packagist.phpcomposer.com已停用,别再用;中科大镜像(https://mirrors.ustc.edu.cn/composer/)也可用,但阿里云目前更稳定 - 换完镜像后不用重启终端,但首次
composer install或create-project仍可能稍慢——那是 Composer 在重建本地元数据缓存,等几秒就好
Windows Defender 会让 composer update 慢出天际
这是最容易被忽略的性能杀手。Windows Defender 默认实时扫描每个 PHP 进程读写的临时文件(包括 Composer 下载解压的 zip 包),导致 composer update 耗时翻倍甚至卡死。解决方法只有两个:
- 临时禁用实时保护(仅限可信开发环境)
- 把 Composer 缓存目录加进 Defender 排除列表:
%LOCALAPPDATA%\Composer\files和%LOCALAPPDATA%\Composer\cache
别信“重装就变快”的说法——只要 Defender 还在扫,慢就是常态。这点在 Windows 11 上尤其明显,因为其默认安全策略比旧版更激进。










