Composer可通过scripts调用PHP内置服务器实现一键启动,如"serve": "php -S localhost:8000 -t public/",支持路由脚本、环境变量自定义端口与主机,无需额外工具,适合快速原型开发。

Composer 本身不提供内置的 PHP 开发服务器功能,但它可以通过 scripts 配置调用 PHP 自带的 php -S 命令,实现一键启动本地服务器——适合快速原型开发。
在 composer.json 中定义启动脚本
编辑项目根目录下的 composer.json,在 "scripts" 字段中添加一个自定义命令,例如:
-
"serve": "php -S localhost:8000 -t public/"(假设入口文件在public/index.php) - 如果使用路由文件(如 Laravel 的
router.php),可写成:"serve": "php -S localhost:8000 -t public/ router.php"
确保 Web 根目录和入口正确
PHP 内置服务器要求明确指定文档根目录(-t 参数)和可选的路由器脚本。常见结构如下:
-
public/目录下放index.php(作为默认处理入口) - 若项目无
public/,直接用-t .指向当前目录,但注意安全:避免暴露vendor/或配置文件 - 简单路由脚本
router.php示例:
运行脚本启动服务器
保存 composer.json 后,在终端执行:
立即学习“PHP免费学习笔记(深入)”;
-
composer serve—— 启动服务器(监听localhost:8000) -
composer run-script serve --timeout=0—— 如需禁用超时(防止长时间空闲退出) - Ctrl+C 可随时停止服务
小技巧:支持多环境或端口自定义
可通过环境变量或参数化增强灵活性(需配合 Composer 2.2+ 和脚本包装):
- 基础方式:改写为
"serve": "php -S ${HOST:-localhost}:${PORT:-8000} -t public/",然后运行HOST=0.0.0.0 PORT=8080 composer serve - 更稳妥的做法是写个简易
serve.php脚本,由 Composer 调用,便于加日志、检查依赖等
基本上就这些。不需要额外工具,不用装 Valet 或 XAMPP,开箱即用,特别适合单页应用、微服务原型或教学演示。











