Composer在Windows安装失败的根本原因是PHP CLI环境未就绪:php -v需返回版本、php -m | findstr openssl需显示openssl、PATH必须包含php.exe所在目录;三者缺一不可,否则所有安装操作均无效。

php -v 不通,Composer setup 一定失败
不是 Composer 安装器的问题,是 Windows 根本找不到 php.exe。打开 CMD 或 PowerShell,直接输 php -v —— 必须返回类似 PHP 8.3.5 (cli) 的输出;如果报“不是内部或外部命令”,说明系统 PATH 没配对。
确认 PHP 安装目录(比如 C:\xampp\php、C:\php、C:\wamp64\bin\php\php8.3.0)下确实存在 php.exe;右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”的 Path 中新增一行,只填目录路径(例如 C:\xampp\php),不要带 php.exe;改完必须关掉所有已打开的终端,新开一个再试 php -v。
安装时选错 php.exe 路径,比没装还难排查
官方安装器的“Auto-detected”基本不可信。它会扫描注册表或常见路径,但多 PHP 版本共存时(比如 XAMPP 带 8.1,你又手动装了 8.3),大概率选错,或者压根没扫到。
运行 Composer-Setup.exe 后,看到 PHP 路径输入框,一定点 Browse 手动选 —— 指向你实际想用的 php.exe(如 D:\php\php.exe);安装器若静默跳过选择页,极可能是路径含空格(如 C:\Program Files\php\php.exe)或 php.ini 里 extension=php_openssl.dll 还带着分号;先用 php -m | findstr openssl 确认扩展已启用。
composer --version 报错,但 php -v 正常?PATH 没写进系统
安装器勾选了“Add to PATH”却仍无效,常见于杀毒软件拦截、组策略限制,或安装器本身写入失败。
手动把 C:\ProgramData\ComposerSetup\bin 加进系统 Path 变量(同样只到 bin 目录,不含文件名);C:\ProgramData 是隐藏文件夹,资源管理器需开启“显示隐藏的项目”才能确认路径存在;改完后新开终端,运行 echo %PATH% 查看该路径是否真实出现在输出中;别信旧终端,它不会自动 reload PATH。
装完就跑 composer install?先跑 diagnose
composer --version 成功只是第一步。composer diagnose 才暴露真实问题:CA 证书缺失、home 目录不可写、openssl 实际未启用、镜像源配置错位……这些都会导致后续 install 或 require 卡住或报诡异错误。
国内用户务必配镜像,否则依赖下载极慢甚至超时:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/;若项目已有 composer.lock,换源后建议补一句 composer update --lock;composer clear 清缓存有时比重装更管用。











