xampp中composer依赖php.exe且需手动指定路径并启用openssl、curl扩展。先确认php.exe可执行,再修改php.ini取消扩展注释、设绝对extension_dir路径,重启终端后安装composer时务必手动选择php.exe,并将composer路径加入系统path。

确认 XAMPP 的 php.exe 能被命令行调用
Composer 不是“装进 XAMPP”,而是靠命令行调用 XAMPP 自带的 php.exe。如果这一步没通,后面全卡住。
- 打开 CMD 或 PowerShell,直接运行:
C:xamppphpphp.exe -v - 若提示“不是内部或外部命令”,说明路径错、权限受限,或新版 XAMPP 把 PHP 放在了
C:xamppphp8或C:xamppphp7——请手动进C:xampp看目录名 - 若能输出版本(如
PHP 8.2.12),但报curl extension missing或openssl extension missing,说明扩展没开,不是 Composer 的锅
必须启用 openssl 和 curl 扩展
Composer 启动时强制检查这两个扩展,缺一不可。XAMPP 默认把它们注释掉了,且不会自动加载 ext 目录下的 DLL ——尤其当 extension_dir 是相对路径时会失败。
- 编辑
C:xamppphpphp.ini,取消这两行的分号注释:;extension=openssl→ 改成extension=openssl;extension=curl→ 改成extension=curl - 检查
extension_dir是否为绝对路径,比如:extension_dir = "C:xamppphpext"(不能写成"xamppphpext") - 改完保存,**重启命令行窗口**(不是重启 apache!)再试
php -m | findstr openssl确认已加载
安装 Composer 时必须手动指定 php.exe 路径
官网 Composer-Setup.exe 安装器会自动扫描系统 PATH 查找 PHP,而 XAMPP 的 php.exe 默认不在 PATH 里 —— 它不会“猜”到你在用 XAMPP。
- 从
https://getcomposer.org/download/下载Composer-Setup.exe - 运行安装器,在 “select PHP executable” 页面,**务必点 “Browse”**,手动导航到
C:xamppphpphp.exe并选中 - 不要跳过这步直接点 Next,否则它会 fallback 到系统旧版 PHP 或报错
- 安装完成后,
composer命令实际指向的是C:ProgramDataComposerSetupbincomposer.bat,该脚本会调用你指定的php.exe
验证失败?先查 PATH 和终端缓存
即使安装器声称“已添加环境变量”,windows 经常因权限或 Shell 缓存导致 composer --version 仍报“不是内部或外部命令”。
- 手动检查系统 PATH:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”→在“系统变量”的
Path里新增一行:C:ProgramDataComposerSetupbin - 新增后,**必须新开一个 CMD/PowerShell 窗口**(旧窗口不读新 PATH)
- 运行
where composer,应返回C:ProgramDataComposerSetupbincomposer.bat;若返回空,说明 PATH 没生效 - 顺手跑
composer diagnose,它会明确告诉你哪个扩展缺失、哪类配置异常,比瞎猜快得多
XAMPP 和 Composer 之间没有“集成开关”,只有路径对齐和扩展就位。最容易被跳过的,是改完 php.ini 后忘记重启终端,以及安装时没手动选 php.exe —— 这两点一错,所有后续操作都在模拟正确。