sublime可通过build system调用php -s启动内置服务器并打开浏览器:先确保php -v可用,再新建php-server.sublime-build,配置shell_cmd启动服务、variant触发浏览器访问,支持后台运行与端口自定义。

Sublime怎么用php -S启动本地服务器
Sublime Text 本身不运行 PHP,但可以调用系统已安装的 php 命令启动内置服务器,这是最轻量、无需 XAMPP/WAMP 的方式。关键不是“在 Sublime 里运行 PHP”,而是让它帮你执行 php -S 并打开浏览器访问。
先确认终端能跑通:php -v 必须返回版本号;否则装好 PHP 后要把 php.exe(Windows)或 /usr/bin/php(macOS/Linux)加进系统 PATH。
- 在项目根目录下,命令行执行:
php -S localhost:8000 -t .(-t .表示当前目录为 Web 根路径) - 浏览器访问
http://localhost:8000/index.php,就能看到页面 - 修改 PHP 文件后保存,刷新浏览器即可——这不是“自动刷新”,只是 HTTP 服务支持即时响应
怎么让Sublime一键启动php -S并打开浏览器
靠手动敲命令太慢,可以用 Sublime 的 Build System 封装成快捷操作。注意:这不是“构建”PHP 代码,而是启动服务并触发浏览器打开。
新建 Build System(Tools → Build System → New Build System),填入以下内容:
{
"shell_cmd": "php -S localhost:8000 -t \"$folder\" 2>&1 &",
"file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)$",
"working_dir": "$folder",
"selector": "source.php",
"variants": [
{
"name": "Open in Browser",
"shell_cmd": "open http://localhost:8000/ 2>/dev/null || start http://localhost:8000/",
"working_dir": "$folder"
}
]
}
保存为 PHP-Server.sublime-build(别覆盖默认的 PHP 构建系统)。之后在 PHP 文件里按 Ctrl+B(Windows/Linux)或 Cmd+B(macOS)就会后台启动服务;再按 Ctrl+Shift+B 调出变体菜单选 Open in Browser,自动打开页面。
-
2>&1 &是关键:把服务挂后台,避免阻塞 Sublime - Windows 用户注意:
start命令不能带引号,否则会报错;macOS 用open,Linux 可换为xdg-open - 端口被占?改
localhost:8000为localhost:8080即可
为什么浏览器打不开或报错404
常见现象是点击后没反应、空白页、或提示 File not found —— 这几乎都和路径或路由有关,不是插件问题。
- 确保当前文件所在目录有
index.php或你访问的路径真实存在(http://localhost:8000/test.php要求该文件在项目根目录) -
php -S不解析.htaccess,也不支持 Apache 的重写规则;想用伪静态,得自己写路由器脚本,例如用-t public -c router.php方式 - 如果 PHP 文件里用了
$_SERVER['DOCUMENT_ROOT'],它在php -S下是空的,得改用__DIR__或dirname($_SERVER['SCRIPT_FILENAME']) - 浏览器缓存旧响应?试试加
header('Cache-Control: no-cache');开头,或用无痕窗口测试
想保存即刷新?得加 LiveReload 或 BrowserSync
php -S 本身不监听文件变化,所以“实时预览”在这里只意味着“HTTP 可访问”,不是“自动刷新”。要真做到保存就刷新,必须引入外部监听机制。
推荐两个方案:
- 用
browser-sync代理 PHP 服务:browser-sync start --proxy "localhost:8000" --files "**/*.php, **/*.html",然后访问http://localhost:3000 - 或保留
php -S,再配一个轻量监听工具如entr(macOS/Linux):ls *.php | entr -r php -S localhost:8000 -t .
注意:LiveReload 插件在 Sublime 里对 PHP 文件无效——它只监听 HTML/CSS/JS,默认不监控 .php 后缀,且需浏览器扩展配合,而 php -S 返回的是动态内容,LiveReload 注入的脚本可能被 PHP 输出干扰。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











