sublime text 需依赖系统已安装且加入 path 的 php 解释器才能运行 php 代码;配置 build system 调用 php -f $file,并确保文件已保存、语法设为 php;常见问题包括路径未配置、中文乱码、扩展未启用等。

Sublime Text 本身不能直接运行 PHP 代码,它只是一个编辑器,不是 PHP 解释器或 Web 服务器。你看到的“运行 PHP”效果,其实是通过调用系统已安装的 php 命令行可执行文件来实现的。
确认本地已安装 PHP 并加入 PATH
这是最关键的前置条件。如果 php -v 在终端(Windows 是命令提示符/PowerShell)里报 “不是内部或外部命令”,那 Sublime 再怎么配置也跑不起来。
- 在终端输入
php -v,必须能输出版本号(如PHP 8.2.12) - 如果失败,先去官网下载安装包(
windows.php.net或php.net),勾选“Add PHP to PATH”选项;macOS 用户可用brew install php;Linux 用户用apt install php-cli等 - 安装后重启 Sublime Text,否则它读不到更新后的环境变量
用 Build System 调用 php 命令执行脚本
Sublime 的 Build System 是让编辑器“运行代码”的核心机制,本质就是执行一条 shell 命令。
- 菜单栏选择 Tools → Build System → New Build System…
- 清空默认内容,粘贴以下 JSON(注意路径和参数):
{
"cmd": ["php", "-f", "$file"],
"selector": "source.php",
"file_regex": "php$",
"working_dir": "$file_path"
}
-
"cmd"中的php必须能被系统识别——也就是上一步验证过的 PATH 路径下的可执行文件 -
"-f"参数确保只解析当前文件,避免把stdin当作代码执行(否则可能卡住) -
"working_dir"设为$file_path,能让require、include相对路径正常工作 - 保存为
PHP.sublime-build,之后在 Tools → Build System 里选中它
运行时常见错误和应对
Build 成功不代表逻辑正确,很多报错其实来自 PHP 自身,但容易误以为是 Sublime 配置问题。
立即学习“PHP免费学习笔记(深入)”;
- 终端弹出
Could not open input file: xxx.php:说明$file变量为空,通常因为文件未保存(.php 后缀未写入磁盘)或未设置语法高亮为 PHP(右下角状态栏应显示PHP) - 输出中文乱码(Windows 控制台):Sublime 默认用 UTF-8,而 CMD 默认 GBK,可在 Build System 里加
"encoding": "cp936",或改用 PowerShell(推荐) - 报
Fatal error: Cannot redeclare function:说明多次运行时没清空全局作用域,PHP CLI 模式不自动重载,每次都是新进程,但如果你用了opcache.enable_cli=1就可能缓存旧定义——检查php.ini中该配置是否关闭 - 想调试 HTTP 请求?别指望 Build System。它只能跑 CLI 脚本。要测
$_GET、$_POST,得启动内置服务器:php -S localhost:8000,然后浏览器访问
真正麻烦的从来不是配置 Build System,而是确保 php 命令在任意路径下都能调用,并且它的扩展(如 mbstring、curl)已启用。很多人卡在 extension=mbstring 这一行没取消注释,导致脚本一运行就报 Call to undefined function mb_strlen() —— 这类问题不会出现在 Sublime 日志里,得查 php --ini 找到加载的 php.ini 文件手动改。











