根本原因是Windows未让Composer找到php.exe,需配置PHP_BINARY或PATH;Composer按PHP_BINARY、PATH顺序查找php.exe,缺失或路径错误即报PHP未找到。
Composer 报错 “Could not open input file: composer.phar” 或 “The PHP engine is not found” 的根本原因,不是 Composer 没装好,而是 Windows 系统压根没让 Composer 找到 php.exe —— 它需要明确的 PHP_BINARY 或系统级 PATH 支持。
为什么 Composer 在 Windows 上总提示找不到 PHP
Composer 是 PHP 脚本(composer.phar),但它本身不自带 PHP 解释器。Windows 下运行时,它会按顺序查找 PHP:先查环境变量 PHP_BINARY,再查系统 PATH 中第一个能执行的 php.exe。如果两者都缺失或指向错误路径(比如 XAMPP 里的 php.exe 被删了、WAMP 切换版本后路径变了、或者用的是 VS Code 内置 PHP 但没加进 PATH),就会报“PHP not found”。
常见错误现象包括:
-
Could not open input file: composer.phar(实际是 PHP 启动失败的伪装报错) The PHP engine is not found. Please install PHP 7.2.5 or higher- 执行
composer --version卡住几秒后直接退出,无输出
检查当前 PHP 是否真正可用
别信“我装过 PHP 就一定行”。打开新命令提示符(CMD 或 PowerShell),逐条运行:
立即学习“PHP免费学习笔记(深入)”;
where php
如果返回空,说明 php.exe 不在 PATH 中;如果返回多个路径,注意看哪个是你要用的(比如 C:\xampp\php\php.exe 或 C:\php\php.exe)。
再验证它能否正常工作: