应安装sublimelinter与sublimelinter-php组合;前者为框架负责高亮定位,后者为执行器调用php -l检查;需显式配置php路径并设”lint_mode”: “save”避免卡顿。

PHP Linter 插件装哪个?别选错
sublime text 本身不带 PHP 语法检查,得靠第三方插件。现在能用且维护正常的只有 SublimeLinter + SublimeLinter-php 这套组合。别装 PHP-CodeSniffer 或老版本 SublimeLinter-PHP(已废弃),它们要么不兼容 Sublime 4,要么报 linter failed: command not found。
安装方式:Package Control → Install Package → 搜 SublimeLinter,装完再搜 SublimeLinter-php。两个必须都装,缺一不可。
-
SublimeLinter是框架,负责高亮、定位错误位置 -
SublimeLinter-php是具体执行器,调用系统里的php命令做-l检查 - 如果只装了前者,编辑器不会报错,但也不会标出任何语法问题
为什么改了 PHP 路径还是报 “php: command not found”?
插件默认调用系统 PATH 下的 php,但它不读取你的 shell 配置(比如 ~/.zshrc 里加的 export PATH)。Mac/linux 用户常见于用 brew install php 装了新版,但 Sublime 是从 GUI 启动的,根本看不到你终端里的 PATH。
解决办法是显式指定 php 路径:
立即学习“PHP免费学习笔记(深入)”;
- 打开
Preferences → Package Settings → SublimeLinter → Settings - 在右侧用户设置里加这段:
{ "linters": { "php": { "executable": "/opt/homebrew/bin/php" } } } - 路径怎么找?终端运行
which php,结果直接复制进去 - windows 用户填类似
C:xamppphpphp.exe,注意双反斜杠
保存时才检查 vs 实时检查,怎么选?
SublimeLinter 默认是“边写边检”,对 PHP 这种解释型语言容易卡顿,尤其文件稍大或有复杂嵌套时,光标会延迟、输入卡顿。这不是 bug,是它每敲一个字符都在调 php -l。
建议关掉实时检查,只在保存时触发:
- Settings 里加:
"lint_mode": "save" - 避免误报:有些 PHP 文件依赖
$_SERVER或全局常量,php -l不加载环境,可能报undefined constant—— 这不是代码错,是检查方式局限,不用理 - 如果真要实时,把
php -l替成phpstan或psalm更靠谱,但那是另一套配置了
检查没反应?先看这三件事
插件装了、路径设了、保存也按了,但没红波浪线——大概率卡在基础环节:
- 确认当前文件右下角显示的是
PHP,不是Plain text或HTML;点一下切换,或者快捷键Ctrl+Shift+P→Set Syntax: PHP - 检查文件后缀是不是
.php;.inc、.module这类非标准后缀默认不触发phplinter - 终端手动跑一次
php -l yourfile.php,看是否真报错;如果命令行也不报,说明文件语法没问题,插件没反应是正常的
最常被忽略的是:SublimeLinter 的状态栏图标(右下角小喇叭)点开后能看到最近一次检查的输出。如果显示 php: not available,说明路径还是没对上,别猜,直接去 which php 再核对一遍。