使用Composer创建Laravel项目提示php命令未找到的配置问题
问题根因
报错指向当前运行Composer的终端(从路径格式判断为Git Bash/MinGW类Unix模拟环境)找不到PHP可执行文件,和两类问题直接相关:一是环境变量修改后未完全重启终端导致配置未生效,二是模拟终端和Composer的shell启动脚本存在Windows路径解析兼容问题。
排查流程
- 打开全新的Windows CMD命令提示符窗口,直接执行
php -v:- 如果CMD同样提示'php'不是内部或外部命令,说明系统层面的PHP环境变量配置本身有误。
- 如果CMD能正常输出PHP版本号,说明系统环境变量配置没问题,故障仅出在你当前使用的模拟终端环境。
对应解决方案
场景1:CMD下也无法识别PHP命令
- 先确认本地PHP实际安装路径,从报错看你配置的是XAMPP自带PHP,先打开
C:\xampp\php目录,检查目录下是否存在php.exe文件,如果路径不对(比如XAMPP装在D盘),以实际存在php.exe的目录为准。 - 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在「系统变量」的Path列表里添加/修正PHP所在目录路径,注意只填文件夹路径,不要把
php.exe本身写进Path。 - 保存配置后,完全关闭所有正在运行的终端程序(包括CMD、Git Bash、VS Code内置终端、WSL窗口等),重新开终端再测试。
场景2:CMD可识别PHP,仅Git Bash/MinGW终端报错
这类是模拟终端的路径兼容通病,选任意一种方案处理即可:
- 临时方案:执行Composer命令时写全PHP和Composer的完整路径直接调用,跳过路径查找逻辑:
/c/xampp/php/php.exe "C:/ProgramData/ComposerSetup/bin/composer" create-project laravel/laravel example-app - 永久方案:给Git Bash配置PHP别名。找到Git安装目录下的
etc/bash.bashrc文件(默认路径为C:\Program Files\Git\etc\bash.bashrc),在文件末尾追加一行配置:
保存后关闭所有Git Bash窗口重开,执行alias php='/c/xampp/php/php.exe'php -v确认能正常返回版本信息,后续直接运行composer命令即可正常调用。 - 无配置方案:直接使用Windows原生CMD或PowerShell执行Composer命令,原生终端不存在Unix模拟层的路径解析问题,系统环境变量配置正确即可直接运行。
避坑提示
- 修改系统环境变量后,仅在当前终端执行
refreshenv之类的命令不一定能完全加载新配置,最稳妥的方式是彻底关闭所有终端进程后重新打开。 - 如果后续升级PHP、调整XAMPP安装目录,要同步更新环境变量和bash里的别名配置,避免路径失效。
内容的提问来源于stack exchange,提问作者SadlyLostAllTheTime
相关产品推荐
相关产品推荐

