Composer 找不到 php.exe 的根本原因是系统 PATH 未包含 PHP 安装目录;需确保 CLI 版 PHP 已正确添加至 PATH 并重启终端验证,或临时通过 PHP_BINARY 环境变量指定路径。

Composer 找不到 php.exe 的根本原因
不是 Composer 本身坏了,而是它启动时会主动调用系统 PATH 中的 php.exe 来执行 PHP 脚本。如果 Windows 系统 PATH 没包含 PHP 安装目录(比如 C:\php 或 C:\xampp\php),就会报错 "The program 'php.exe' is not found" 或类似提示。
确认 PHP 是否真已安装且可被识别
别跳过这步——很多人以为双击 php.exe 能运行就等于“已安装”,但 Composer 需的是命令行能直接调用。
- 打开 CMD,输入
php -v:若提示“不是内部或外部命令”,说明 PATH 没配好 - 若显示版本号,但 Composer 仍报错,检查是否用了不同架构(如 32 位 PHP + 64 位 Composer)或路径含空格未加引号
- PHP 安装包自带的
php.exe必须是 CLI 版本(非 Apache SAPI),可用php -S localhost:8000测试是否支持内置服务器
手动把 PHP 目录加进系统 PATH 的实操步骤
这是最稳定、一劳永逸的解法。不推荐改 Composer 源码或硬编码路径。
- 找到你的
php.exe所在目录,例如:C:\php、C:\xampp\php、C:\laragon\bin\php\php-8.2.12-Win32-vs16-x64 - 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”
- 在“系统变量”中找到
Path,点击“编辑” → “新建” → 粘贴完整 PHP 目录路径(不含php.exe) - 重启所有已打开的 CMD / PowerShell / IDE 终端(旧终端不会自动读取新 PATH)
验证:新开 CMD,执行 where php 应返回你刚添加的路径;再运行 composer --version 就能正常响应。
立即学习“PHP免费学习笔记(深入)”;
临时绕过 PATH 的应急方法(仅限调试)
如果你暂时无法修改系统变量(比如公司锁死策略),可以用以下方式让 Composer 启动时指定 PHP 可执行文件:
set COMPOSER_HOME=C:\my-composer-home set PHP_BINARY=C:\php\php.exe composer install
注意:PHP_BINARY 是 Composer 官方支持的环境变量,优先级高于 PATH;但每次都要设,不适合长期使用。另外,某些 IDE(如 PhpStorm)的终端可能不继承系统 PATH,需在 IDE 设置里单独配置 Shell 环境变量。
PATH 配错一个斜杠、多一个空格、路径里有中文,都会导致失败。Windows 对大小写不敏感,但对反斜杠和空格极其敏感——这点最容易被忽略。











