Sublime Text 运行 PHP 必须依赖系统已安装的 php CLI,首要验证终端执行 php -v 成功;再通过 Build System 配置绝对路径调用 php -f "$file",并设置 "selector": "source.php" 以启用 Ctrl-B 运行。

Sublime Text 本身不带 PHP 解释器,所有运行、检查、格式化功能都依赖你系统里已装好的 php 命令行程序。如果终端里 php -v 都报错,那在 Sublime 里配什么都白搭——这是硬前提,不是可选项。
为什么 Ctrl+B 运行 PHP 时提示 “php: command not found”
这不是 Sublime 的 bug,而是它没找到系统里的 php 可执行文件。GUI 启动的 Sublime(比如从 Dock 或开始菜单点开)通常不继承 shell 的完整 PATH,尤其在 macOS M1/M2、Windows WSL 或 XAMPP 用户身上特别明显。
- 先打开终端(macOS/Linux)或命令提示符/PowerShell(Windows),执行
php -v—— 必须看到版本号,否则立刻停步去装 PHP 或修 PATH - 若成功,再用
which php(macOS/Linux)或where php(Windows)拿到真实路径,比如/opt/homebrew/bin/php或C:\xampp\php\php.exe - 别信“PATH 已加好”,GUI 环境下常失效;最稳方案是构建系统里写绝对路径
如何新建一个能真正运行 PHP 的 Build System
Build System 是 Sublime 调用外部命令的核心机制,cmd 字段必须准确指向你的 php,且 selector 不能漏,否则快捷键不触发。
- 菜单栏 → Tools → Build System → New Build System…
- 替换全部内容为(以 macOS Homebrew 为例):
{ "cmd": ["/opt/homebrew/bin/php", "-f", "$file"], "selector": "source.php", "file_regex": "^.*?on line ([0-9]+)", "working_dir": "$file_path" } - Windows 用户注意:
cmd中路径含空格(如C:\Program Files\php\php.exe)必须用双引号包裹;但别写成["php.exe"]—— 若php已在 PATH,加.exe反而会去搜php.exe.exe -
-f表示执行脚本,换成-l就是语法检查;selector必须是"source.php",写成"php"或漏掉都会让 Ctrl+B 失效
为什么 .phtml、.module 文件不识别为 PHP
Sublime 默认只认 .php 后缀,其他如 .phtml、.module、.inc 全部当纯文本处理——连 <?php 都不着色。这不是插件问题,是语法映射没设。
立即学习“PHP免费学习笔记(深入)”;
- 打开任意一个
.phtml文件,右下角点击当前语法名(比如显示 “Plain Text”)→ 选 “PHP” 临时切换 - 要永久生效:菜单栏 → Preferences → Settings – Syntax Specific,在右侧加
{ "extensions": ["phtml", "module", "inc"], "syntax": "Packages/PHP/PHP.sublime-syntax" } - ⚠️ 别误改
Settings – User—— 那是全局配置,对语法关联完全无效;必须走Syntax Specific才起作用
最常被忽略的其实是环境一致性:CLI 用的 php.ini 和 Web 服务器(如 Apache/Nginx)用的往往不是同一个,var_dump 输出正常不代表 $_POST 或扩展(如 cURL、GD)在 Web 环境也开着。调试逻辑没问题后,务必切到浏览器环境再验一次。



















