cmd中输入php或mysql提示“不是内部或外部命令”是因为xampp的php.exe和mysql.exe路径未添加到系统环境变量path中;需手动将c: mppphp和c: mppmysqlin加入path并重启cmd验证。

为什么在 CMD 里直接输 php 或 mysql 会提示“不是内部或外部命令”
因为 Windows 默认不认 XAMPP 自带的 php.exe 和 mysql.exe,它们没进系统环境变量 PATH。CMD 启动时只查 PATH 里列的路径,而 XAMPP 安装后默认不自动添加——这不是故障,是设计如此。
把 php 和 mysql 加进系统 PATH 的实操步骤
以 XAMPP 安装在 C:
mpp 为例(请按你实际路径调整):
- 找到两个关键目录:
C: mppphp(含php.exe)和C: mppmysqlin(含mysql.exe、mysqld.exe等) - 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”
- 在“系统变量”里双击
Path→ 点“新建” → 分别粘贴上面两个路径(顺序无关) - 点“确定”保存所有窗口,**重启 CMD(必须!旧窗口不会重载 PATH)**
验证:新开 CMD,运行 php -v 和 mysql --version,有输出即成功。
常见错误和绕不开的坑
即使加了 PATH,仍可能失败,原因很具体:
-
mysql命令报ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost':说明mysqld服务根本没运行。XAMPP 控制面板里点Start启动MySQL,或用命令net start mysql(前提是服务已注册) - PATH 里路径写错,比如多打斜杠
C: mppphp写成C: mppphp\,Windows 会忽略该条目 - 用了便携版 XAMPP(非安装版),
mysqlin下可能没有mysql.exe,只有mysql.exe.bak——删掉.bak后缀即可 - PHP 扩展没加载(如
pdo_mysql),php -m看不到,需检查php.ini中extension=php_pdo_mysql.dll是否取消注释,且extension_dir指向正确
不想改系统 PATH?临时用法也行
适合测试或单次使用,不用动环境变量:
- 进 CMD 后,先切到 PHP 目录:
cd C: mppphp,再运行php -S localhost:8000 - 连 MySQL:
C: mppmysqlinmysql -u root -p(注意路径必须写全) - 写个批处理脚本(如
run_php.bat)放在项目根目录:@echo off C: mppphpphp.exe %*
然后用run_php.bat index.php调用
PATH 方案一劳永逸,但临时方案更可控——尤其多人共用一台机器时,改系统变量容易引发冲突。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











