notepad++ 运行 php 依赖本地 php.exe,90% 配置失败源于 path 未正确设置或路径变量使用错误;需将 php 安装路径加入系统 path、重启 notepad++、用 php "$(full_current_path)" 并加双引号,区分 cli 与 web 环境。

Notepad++ 本身不运行 PHP,它只调用你本地已安装的 php.exe —— 配置失败的 90% 都卡在 PATH 或路径变量上。
php 不是内部或外部命令?先查 PATH 和 php.exe
这是最常卡住的第一步。Notepad++ 按 F5 或执行 NppExec 命令时弹出 php is not recognized as an internal or external command,根本不是编辑器问题,而是 Windows 找不到 php.exe。
- 打开 CMD,直接输
php -v:能输出版本号才说明 PHP 已就绪;报错就别往下配了 - 没装 PHP?去 windows.php.net/download/ 下非线程安全版(NTS + x64/x86 匹配你的系统),解压后记下完整路径,比如
C:\php - 把该路径加进系统环境变量
PATH(不是用户变量):控制面板 → 系统 → 高级系统设置 → 环境变量 → 系统变量 → 编辑PATH→ 新增一行C:\php - 改完 PATH 后,必须彻底关闭 Notepad++(右键任务栏图标 → 退出),再重新打开,否则新 PATH 不生效
F5 运行命令必须用 $(FULL_CURRENT_PATH) 且加双引号
Notepad++ 的运行命令框里填的不是固定路径,而是带变量的模板。手敲路径或漏引号,遇到空格、中文、特殊字符必崩。
- 正确写法:
php "$(FULL_CURRENT_PATH)"——$(FULL_CURRENT_PATH)展开为类似C:\my project\test.php的绝对路径,双引号防空格截断 - 别用
$(CURRENT_DIRECTORY):它只给到文件夹,比如C:\my project\,没有文件名根本没法执行 - 如果想看错误也不闪退,末尾加
&& pause:php "$(FULL_CURRENT_PATH)" && pause - 更稳的调试方式(尤其有 Warning/Notice 时):
php "$(FULL_CURRENT_PATH)" > "$(CURRENT_DIRECTORY)\output.log" 2>&1 && notepad "$(CURRENT_DIRECTORY)\output.log"
NppExec 插件比 F5 更可控,但编码和路径要单独处理
用 NppExec(插件 → NppExec → Execute…)能避免黑窗口、支持内嵌输出,但默认控制台编码是 OEM(GBK),中文会乱码,且路径变量逻辑和 F5 略有不同。
- 安装 NppExec 后,在
Execute框中输入:cmd /c "php "$(FULL_CURRENT_PATH)""(注意外层cmd /c是为了兼容性) - 中文乱码?进
插件 → NppExec → Console Output/Input encoding,把Console Output改成UTF-8 - 若仍乱码,可在命令前加
chcp 65001 &&强制切 UTF-8 代码页:chcp 65001 && php "$(FULL_CURRENT_PATH)" - 不要依赖“自动识别 php.exe”:如果 PATH 不稳定,直接写死路径,比如:
"C:\php\php.exe" "$(FULL_CURRENT_PATH)",记得双引号包裹整个路径
浏览器访问 ≠ Notepad++ 运行,别混用两种调试路径
用 http://localhost/test.php 是走 Apache/Nginx 服务器,和 Notepad++ 本地调用 php.exe 是两套完全独立的机制。新手常误以为“能浏览器跑,F5 就该没问题”,其实毫无关系。
- 浏览器方式需要完整 LAMP/WAMP 环境(如 PHPstudy、XAMPP),PHP 文件必须放在 Web 根目录(如
C:\phpstudy\WWW\),且通过 HTTP 协议解析 - F5/NppExec 方式是纯 CLI 模式,不经过 Web 服务器,不读
php.ini中的doc_root,也不支持$_SERVER等超全局变量 - CLI 模式下
echo直接输出到终端,var_dump()不带 HTML 格式;Web 模式下默认是 HTML 输出,var_dump()会带预格式化样式 - 调试逻辑差异极大:CLI 报错直接打屏,Web 模式可能被 error_reporting 或 display_errors 设置屏蔽,得查日志
真正容易被忽略的是:PATH 修改后 Notepad++ 必须全进程退出重开;$(FULL_CURRENT_PATH) 的双引号不能省;CLI 和 Web 两种执行环境的变量、配置、错误表现完全不同——拿浏览器能跑来反推本地运行配置是否正确,是绝大多数排查失败的起点。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











