
php -S 是 PHP 5.4+ 内置的轻量级开发用 Web 服务器启动标志,用于快速启动本地 HTTP 服务,无需 Apache 或 Nginx,适用于调试和学习场景。
`php -s` 是 php 5.4+ 内置的轻量级开发用 web 服务器启动标志,用于快速启动本地 http 服务,无需 apache 或 nginx,适用于调试和学习场景。
PHP 自 5.4 版本起内置了一个简易但功能完备的命令行 Web 服务器,专为开发与测试设计。-S(大写 S)标志即代表 “Run with built-in web server”(以内置 Web 服务器模式运行),是启用该功能的核心开关。
其基本语法如下:
php -S <addr>:<port> [-t <docroot>] [router]</docroot></port></addr>
-
:指定监听地址与端口,如: localhost:4000、127.0.0.1:8000,甚至0.0.0.0:8080(允许局域网访问,需注意安全); -
-t(可选):显式指定文档根目录,默认为当前工作目录; -
[router](可选):指定一个路由脚本(如router.php),用于自定义请求分发逻辑(例如重写 URL、处理静态资源、拦截 API 请求等)。
✅ 示例一:启动默认服务
php -S localhost:4000
此时服务器将监听 http://localhost:4000,并从当前目录提供 .php 和静态文件(.html, .css, .js 等)。
✅ 示例二:指定文档根目录与路由脚本
php -S 127.0.0.1:8000 -t public/ router.php
该命令以 public/ 为 Web 根目录,并将所有请求先交由 router.php 处理——这是构建单页应用(SPA)或简易框架时的关键技巧。
⚠️ 注意事项:
- 内置服务器仅限开发环境使用,不具备生产级性能、安全性与并发处理能力,切勿用于线上部署;
- 它不解析
.htaccess,也不支持 Apache/Nginx 的重写规则,所有路由逻辑必须由 PHP 路由脚本显式实现; - 静态文件(如图片、CSS)会自动响应,但若路由脚本中未正确返回
false或调用return false,可能导致静态资源被错误地交由 PHP 脚本处理而返回 500; - 若未提供路由脚本且请求路径不匹配现有文件,服务器将返回
404 Not Found(而非尝试执行index.php)。
? 小技巧:快速验证路由脚本(router.php)示例:
-S
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











