Composer在Windows上安装失败主因是PHP环境未就绪:php -v须正常输出版本、php.exe目录须加入PATH、openssl/zlib/curl扩展必须启用,三者缺一不可;安装时需手动指定php.exe路径并配置阿里云镜像。

Composer 在 Windows 上装不上,90% 不是安装器的问题,而是 php.exe 根本没被系统识别,或者 openssl 扩展压根没开——这两点不解决,装完也跑不起来。
php -v 报“不是内部或外部命令”怎么办
这不是 Composer 的错,是 Windows 找不到 php.exe。别急着重装 Composer,先让 php 命令能用:
- 打开 CMD 或 PowerShell,运行
php -v—— 必须看到类似PHP 8.2.12的输出,否则停在这一步 - 用文件管理器确认
php.exe存在(常见路径:C:\xampp\php\php.exe、C:\php\php.exe、C:\wamp64\bin\php\php8.3.0\php.exe) - 右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中找到
Path,点击“编辑”→“新建”,填入php.exe所在目录(只到文件夹,不含php.exe) - 关掉所有已打开的终端,新开一个再试
php -v
安装时提示 “PHP executable not found” 或自动选错 php.exe
官方 Composer-Setup.exe 的自动探测经常失效,尤其你机器上有多个 PHP 版本(比如 XAMPP 带 8.1,自己又解压了 8.3),它可能默认选旧的那个,或者根本没扫到。
- 运行安装器后,看到 PHP 路径那一栏,别信“Auto-detected”,一定点 Browse 手动选 —— 找到你实际想用的
php.exe(例如C:\php\php.exe或D:\xampp\php\php.exe) - 勾选
Add to PATH和Install for all users(后者避免普通用户权限不足) - 如果装完发现
composer --version报错,但php -v没问题,大概率是 PATH 没写进去;直接手动把C:\ProgramData\ComposerSetup\bin加进系统Path更可靠
composer install 卡在 “Loading composer repositories…”
这不是网速慢,是 Composer 死等 packagist.org 的 HTTPS 响应,而国内 DNS + TLS 握手常超时。换源必须做,且要注意优先级。
- 执行这条命令切阿里云镜像(2026 年仍稳定):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 如果项目里已有
composer.json,且里面含repositories字段,全局配置会被无视——得删掉或改成同个阿里云地址 - 换源后首次运行仍可能慢(要缓存元数据),但后续就快了;不换源,
composer require很可能卡在Loading composer repositories with package information十几分钟不动
为什么 php -m | findstr openssl 没输出
Composer 必须用 openssl 拉包、校验签名。Windows 自带的 PHP(XAMPP/WAMP/ZIP 包)默认关闭该扩展,这是最隐蔽也最常被忽略的失败点。
- 运行
php --ini查php.ini路径,用记事本打开 - 搜索
;extension=openssl或;extension=php_openssl.dll,删掉前面的分号,保存 - 还要顺手检查
;extension=zlib和;extension=curl是否也开了(缺一不可) - 关掉所有终端,新开一个,再运行
php -m | findstr openssl确认输出openssl
PATH 配错、openssl 关闭、终端没重开——这三个点卡住的人最多。其他问题基本是项目级的,跟 Windows 安装本身关系不大。


















