php -S 是 PHP 5.4+ 内置轻量 Web 服务器,适合单文件或简单路由测试;需在项目根目录运行,支持自定义路由器文件,但不支持 .htaccess 和静态资源重写,常见问题包括 404 和 “No input file specified”。

直接用 php -S 启动内置服务器就能快速建测试站点,不用装 Apache/Nginx,适合单文件或简单路由验证。
用 php -S 快速启动一个本地测试站点
PHP 5.4+ 自带内置 Web 服务器,专为开发测试设计。它不支持 .htaccess、不能处理静态资源重写(如 Vue Router history 模式需额外路由文件),但对纯 PHP 脚本或简单 API 完全够用。
- 确保终端在项目根目录(含
index.php) - 运行命令:
php -S localhost:8000
- 浏览器访问
http://localhost:8000即可看到响应 - 如需自定义路由逻辑(例如让所有请求都进
router.php),加第三个参数:php -S localhost:8000 router.php
,其中router.php需返回true(表示已处理)或false(交由内置服务器尝试找对应文件)
常见错误:访问报 404 或 “No input file specified”
这通常不是 PHP 报错,而是内置服务器找不到入口文件或路由没兜底。
- 没指定路由器文件,但请求的路径(如
/about)下没有对应物理文件(about.php或about/index.php)→ 自动 404 - 写了
router.php但没正确返回true/false,或忘记调用file_exists()判断静态资源 → 触发 “No input file specified” - Windows 下路径含中文或空格,可能被 URL 编码干扰 → 改用英文路径
- 端口被占用(如另一 PHP 进程或 Python HTTP 服务)→ 换端口,例如
php -S localhost:8080
需要支持多站点或复杂路由?改用 localhost + hosts + 简易反代
当测试需多个子域名(如 api.test、admin.test)或想模拟真实 Nginx 行为时,纯 php -S 不够用。此时推荐轻量组合:
系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7
立即学习“PHP免费学习笔记(深入)”;
- 编辑系统
hosts文件,添加:127.0.0.1 api.test 127.0.0.1 admin.test
- 用 Python 或 Node.js 启一个极简反向代理(如
http-server+http-proxy-middleware),把不同域名指向不同 PHP 项目目录下的php -S实例 - 不建议在 Windows 上用 WAMP/XAMPP 开多个虚拟主机来“模拟”,配置繁琐且容易端口冲突;macOS/Linux 用户可考虑
nginx -p $(pwd) -c nginx.conf临时加载自定义配置,但前提是已装 nginx
真正麻烦的从来不是启动命令,而是静态资源路径写死、相对 URL 在子路径下失效、或依赖 $_SERVER['DOCUMENT_ROOT'] 的旧代码在内置服务器里拿不到预期值——这些细节比选工具更值得花时间检查。










