notepad++本身不内置本地服务器,调试php需手动安装php.exe并配置系统path;cmd中运行php -v验证成功后,再在notepad++中用chcp 65001 && php "$(full_current_path)"执行,且需重启编辑器使path生效。

Notepad++ 本身不内置本地服务器,所谓“配置本地服务器调试”,本质是调用你本机已安装的 php.exe、python -m http.server 或 node -v 等可执行程序 —— 插件只是帮你触发命令,不是替你装服务。
php "$(FULL_CURRENT_PATH)" 运行报错:'php' 不是内部或外部命令
这是最常见卡点,90% 的失败源于 Windows 找不到 php.exe。
- 先在 CMD 中运行
php -v:能输出版本号才说明 PHP 已就绪;报错就别往下配了 - 没装 PHP?去 windows.php.net/download/ 下非线程安全版(NTS + x64/x86 匹配你的系统),解压后记下完整路径,比如
C:\php - 把该路径加进系统环境变量
PATH(不是用户变量):控制面板 → 系统 → 高级系统设置 → 环境变量 → 系统变量 → 编辑PATH→ 新增一行C:\php - 改完
PATH后,必须彻底关闭 Notepad++(右键任务栏图标 → 退出),再重新打开,否则新PATH不生效
NppExec 执行 PHP 时中文乱码或一闪而过
默认控制台编码是 OEM(GBK),且黑窗口会立即关闭,导致看不到 Warning/Notice。
- 正确命令模板:
chcp 65001 && php "$(FULL_CURRENT_PATH)"(chcp 65001强制切 UTF-8 代码页) - 想让窗口停留看错误:末尾加
&& pause→chcp 65001 && php "$(FULL_CURRENT_PATH)" && pause - 更稳的调试方式(尤其有输出时):
chcp 65001 && php "$(FULL_CURRENT_PATH)" > "$(CURRENT_DIRECTORY)\output.log" 2>&1 && notepad "$(CURRENT_DIRECTORY)\output.log" - 进插件 → NppExec → Console Output/Input encoding,把 Console Output 明确设为
UTF-8
用 NppFTP 直接编辑远程服务器上的 PHP 文件,怎么“调试”?
这不是本地调试,而是远程文件编辑+手动触发服务重启 —— 它省的是 FTP 上传步骤,不是调试闭环。
- NppFTP 插件只负责连接 SFTP/FTP 并同步保存,不运行也不重启服务
- 改完
/etc/nginx/nginx.conf或/var/www/html/index.php后,仍需手动 SSH 登录服务器执行:sudo systemctl restart nginx或sudo service apache2 reload - 若想一键重载,可在 NppExec 中写命令:
ssh user@host "sudo systemctl restart nginx"(需提前配好免密 SSH) - 注意:NppFTP 的“自动上传”仅对已打开并保存的文件生效,不监控磁盘变化
真正容易被忽略的点是:所有“调试”动作都依赖你本机或远端的服务进程是否真实就位。Notepad++ 只是命令触发器,它不会帮你判断 php-fpm 是否在监听、nginx 配置语法是否正确、或 localhost:8000 是否已被其他程序占用。这些得靠你自己的终端和日志去看。











