Notepad++ PHP语法高亮失效主因是右下角语言选错为PHP Script而非PHP,需手动切换至PHP;同时须在设置→首选项→文件关联中将.php等后缀绑定到PHP,且启用短标签支持以避免lexer解析中断。

右下角语言名点错了,PHP Script不是PHP
Notepad++ 打开 .php 文件没高亮,90% 是状态栏右下角显示的是 PHP Script 而不是 PHP。这两个名字看着像,但 PHP Script 是旧版废弃 lexer,对现代 PHP 语法(比如短标签、heredoc、箭头函数)识别错乱,甚至整段变灰。
正确做法:点击右下角当前语言名(比如显示 HTML 或 Plain text),在弹出菜单里找到并选中 PHP —— 注意是纯文字 “PHP”,不是带 “Script” 后缀的那项。快捷键更稳:Ctrl + L,再按 P,会直接跳到 PHP 并确认。
- 如果菜单里
PHP是灰色不可选,说明文档被锁在纯文本模式,先保存为.php后缀再重开 - 切完立刻生效,无需保存、无需重启,当前文件马上重绘
- 切一次只管当前会话,关掉再打开又回退——这是设计如此,不是 Bug
后缀没绑到 PHP,.php 文件也白搭
Notepad++ 不靠文件内容判断语言,只认扩展名绑定。哪怕你文件叫 index.php,如果 .php 没在 PHP 语言下注册,它照样当普通文本处理。
检查路径:设置 → 首选项 → 文件关联,左侧选中 PHP,右侧输入框里必须包含 .php;.php5;.phtml;.inc 等常用后缀(注意带点、分号分隔)。点“添加”后立即生效,不用重启。
立即学习“PHP免费学习笔记(深入)”;
-
.inc容易漏掉——老项目常把配置存这里,不加就看不到高亮 - 如果右侧是空的,或
.php出现在Text行里,说明绑定错位,得删掉再重新加到PHP下 - 非标后缀如
.module、.install(Drupal/WordPress 插件),也要一并补进右侧输入框
短标签 不高亮?默认不认,得手动开
Notepad++ 默认词法分析器不启用 PHP 短标签支持。如果你代码开头是 echo 'x'; ?> 而不是 <?php echo 'x'; ?>,高亮大概率从第一行就崩——lexer 直接放弃解析,后面全变灰。
解决办法:设置 → 首选项 → MISC. → Enable PHP short open tag,勾上即可。这个开关只影响 PHP lexer 对 的识别,不影响运行时行为。
- 开了之后,
、=都能正常触发高亮 - 不开的话,即使你手动切到
PHP模式,短标签部分仍不着色,且可能连带影响后续所有语法 - 该设置全局生效,改完不用重启,新打开的
.php文件立刻识别
改了样式却没变化?三个硬性条件缺一不可
你在 设置 → 样式配置器 里调了 STRING 或 COMMENT 颜色,结果编辑区毫无反应——不是软件坏了,是以下任一条件没满足:
- 没点右下角
Save & Close:只点窗口 × 关闭不算保存,所有改动仅存在内存里 - 文件没指定为
PHP模式:新建文档或.txt文件默认是Normal text,样式配置器改的PHP颜色压根不加载 - 已打开的文件没重开:改完样式后,必须关闭再重新打开该文件,
Ctrl + S或F5刷新无效
真正容易被忽略的是:Notepad++ 的 PHP 高亮只做词法染色,不校验语法、不补全、不报错。它看到 就停,看到未闭合字符串就弃疗——这不是缺陷,是 lexer 的主动保护机制。所以高亮失效,往往不是设置问题,而是代码本身触发了 lexer 的退出条件。



















