根本原因是系统未将 composer 安装路径加入 path 或未配置可执行入口;需下载 composer.phar、创建 composer.bat 并添加 c:\xampp\php\ 到 path,同时启用 php.ini 中的 openssl 扩展并确保 php cli 正常。

为什么 composer 命令在 CMD 中提示“不是内部或外部命令”
根本原因是系统找不到 composer.phar 的可执行入口,或者没有把 Composer 的安装路径加入 Windows 的 PATH 环境变量。XAMPP 自带的 PHP 已就绪,但 Composer 是独立工具,不随 XAMPP 自动注册为全局命令。
用 php composer.phar 临时运行不如真正全局化
虽然你可以每次在项目目录下执行 php composer.phar install,但这样既麻烦又无法使用 composer create-project 或全局包(如 laravel/installer)。真正全局化只需两步:
- 下载
composer.phar到一个固定目录,比如C:\xampp\php\composer.phar - 在
C:\xampp\php\下新建一个composer.bat文件,内容为:@php "%~dp0composer.phar" %*
- 把
C:\xampp\php\加入系统PATH(控制面板 → 系统 → 高级系统设置 → 环境变量 → 系统变量 →PATH→ 新建)
完成后重启 CMD,运行 composer --version 应该能正常输出版本号。
确认 PHP 和 OpenSSL 是否可用,否则会卡在“Could not open input file”或 SSL 报错
Composer 依赖 PHP CLI 正常工作,且必须启用 openssl 扩展——XAMPP 默认关闭 CLI 模式的扩展。检查方法:
- 运行
php -v,确认有输出;若报错,说明 PHP CLI 路径不对或损坏 - 运行
php -m | findstr openssl,无输出则需开启:编辑C:\xampp\php\php.ini,取消注释extension=openssl(注意是 CLI 用的 ini,不是 Apache 的) - 如果仍报
cURL error 60: SSL certificate problem,可在composer.bat中加环境变量临时绕过(仅开发环境):@set COMPOSER_CAFILE=C:\xampp\php\cacert.pem @php "%~dp0composer.phar" %*
然后去 https://www.php.cn/link/5fe4dadcdb001d8566cd20e6d8a20251 下载证书保存为该路径
后续更新 Composer 不要重装,用 composer self-update 就行
一旦配置成功,升级只需一条命令。但要注意:XAMPP 升级 PHP 版本后,php.ini 可能被覆盖,openssl 扩展又会被关掉;另外,某些杀毒软件会拦截 composer.bat 的创建或执行,报“操作被阻止”,这时需要临时禁用或添加信任。










