根本原因是windows找不到php.exe,90%失败源于path未正确设置;需将php安装路径(如c:\php)加入系统path、重启notepad++、命令必须为php "$(full_current_path)"并加双引号。

php "$(FULL_CURRENT_PATH)" 运行命令为什么总报错
根本原因不是 Notepad++ 有问题,而是 Windows 找不到 php.exe。90% 的失败都卡在这一步。
- 打开 CMD(不是 PowerShell),直接输
php -v:能输出版本号(比如PHP 8.5.5 (cli)),说明 PHP 已就绪;如果报'php' is not recognized as an internal or external command,就别往下配了 - 没装 PHP?去
windows.php.net/download/下非线程安全版(NTS + x64/x86 要和你的系统一致),解压后记下完整路径,例如C:\php - PATH 没加对:必须加到「系统变量」的
PATH,不是用户变量;新增一行,只填路径(如C:\php),不要带php.exe - 改完
PATH后,必须彻底退出 Notepad++(右键任务栏图标 → 退出),再重新打开,否则新环境变量不生效
F5 运行命令里 $(FULL_CURRENT_PATH) 和双引号怎么用
Notepad++ 的运行命令是模板式替换,不是固定路径。手敲路径、漏引号、或误用变量,遇到空格、中文、特殊字符必崩。
- 正确写法只有这一种:
php "$(FULL_CURRENT_PATH)"——$(FULL_CURRENT_PATH)展开为类似C:\my project\test.php的绝对路径,双引号防截断 - 别用
$(CURRENT_DIRECTORY):它只给到文件夹(如C:\my project\),没有文件名,php根本没法执行 - 想看错误不闪退?加
&& 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→Advanced Options→ 勾选「Follow "Current encoding"」,确保当前文档编码(UTF-8 with BOM 或 UTF-8)与控制台一致 - 若仍不行,临时改用完整路径调用:
"C:\php\php.exe" "$(FULL_CURRENT_PATH)"(注意双引号包裹路径,尤其含空格时) - 别在
NppExec中直接写cd+php xxx两行命令:NppExec默认不继承上一条命令的目录上下文,cd无效
PHP CLI 和 Web 环境差异大,别拿 phpinfo() 当运行成功标准
phpinfo() 在浏览器里能跑,不代表 CLI 下也能跑;反过来也一样。CLI 模块(如 mbstring、curl)可能没启用,php -m 才是真实清单。
- 运行前先确认 CLI 配置:
php -i | findstr "extension_dir"和php -m查看已加载模块 - 常见报错
PHP Warning: Module 'mbstring' already loaded或PHP Fatal error: Call to undefined function mb_strlen(),说明php.ini里重复加载或缺失扩展 - CLI 使用的
php.ini路径不一定和 Apache 一致:php --ini会明确告诉你 CLI 加载的是哪个配置文件 - Notepad++ 只调用 CLI,跟 Apache、Nginx、PHPstudy 完全无关——它们是两套流程,混用调试目标只会绕晕自己
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











