sublime text 自带的 sublimeserver 插件仅提供静态文件服务,不解析 php;因其基于 python http.server,无 php 解释器调用能力,故打开 .php 文件只会显示源码或下载。

Sublime Text 本身不带本地开发服务器,但通过插件可快速启动一个轻量 HTTP 服务,仅支持静态文件(如 HTML/CSS/JS),不解析 PHP、Python 或 Node.js 后端逻辑。
为什么 Sublime 启动的本地服务器打不开 PHP 文件
因为 SublimeServer 插件本质是 Python 的 http.server 模块封装,只提供文件读取和 MIME 类型响应,不执行任何脚本。当你用它打开 index.php,浏览器只会下载或显示源码,不会运行 PHP 解释器。
- 它不调用
php-cgi或php -S - 没有路由、中间件、session 支持
- 所有请求都按静态资源处理,
.php后缀无特殊含义
如何正确配置并启动 SublimeServer
安装后必须满足两个前提才能在菜单中看到 SublimeServer 选项:当前窗口已打开一个文件夹项目(即侧边栏有根目录),且该文件夹内至少有一个 .html 文件。
- 用
Ctrl+Shift+P输入Install Package→ 安装SublimeServer - 确保左侧侧边栏有项目根目录(不是单个文件)
- 菜单栏
Tools → SublimeServer → Start SublimeServer才会可用 - 右键 HTML 文件 →
View In SublimeServer,而非Open In Browser - 默认端口是
8080,可在插件设置里改,但不要设为80(需管理员权限)
想跑 PHP 或动态页面?换更合适的方案
如果需要真实执行 PHP,推荐直接用 PHP 自带的内置服务器,它比 SublimeServer 更可靠、更标准,且无需额外插件:
- 终端进入项目目录,运行
php -S localhost:8000 - 配合
-t指定文档根目录,例如php -S localhost:8000 -t public/ - 支持路由文件(
router.php),能处理伪静态和重写 - Sublime 只负责编辑,保存后刷新浏览器即可,无需重启服务
调试时注意:PHP 内置服务器不支持 $_SERVER['HTTPS'] 或完整 CGI 环境变量,复杂框架需搭配 Nginx/Apache 或 Docker。
容易被忽略的路径和编码问题
SublimeServer 对中文路径、空格、特殊字符非常敏感——它底层依赖 Python 的 urllib.parse,但没做充分转义。常见表现是 404 或乱码 URL。
- 避免在项目路径中使用中文、空格、括号(如
我的项目 (v2)) - HTML 中引用的 CSS/JS 路径尽量用相对路径,不要用
file://协议 - 如果页面加载后样式丢失,检查浏览器控制台的 Network 标签页,看是否因路径解析失败导致 404
- Sublime 默认保存为 UTF-8 无 BOM,但若 HTML 声明了
charset=gbk,可能触发乱码,统一用 UTF-8











