默认端口为127.0.0.1:8000;使用symfony server:start --port=8080可修改,或用php -s 127.0.0.1:8080 -t public/替代,端口不由.env控制。

默认情况下,Symfony 6.4.48 使用内置的 PHP 开发服务器(symfony server:start 或 php -S)启动时监听 127.0.0.1:8000。若需修改端口,方法取决于你使用的启动方式。
使用 Symfony CLI 启动时指定端口
Symfony CLI 是推荐的本地开发方式。它支持直接通过命令行参数切换端口:
- 运行
symfony server:start --port=8080即可监听127.0.0.1:8080 - 也可绑定到其他地址,例如
--host=0.0.0.0 --port=8080(注意:仅限可信网络) - 端口被占用时,CLI 会自动尝试下一个可用端口(如 8001),但显式指定可避免不确定性
使用原生 PHP 内置服务器时改端口
若未安装 Symfony CLI,或使用 php -S 启动:
- 执行
php -S 127.0.0.1:8080 -t public/,其中8080即为目标端口 - 确保
public/index.php为路由入口,否则可能报 404 - 该方式不支持 HTTPS 或高级路由重写,仅适合快速验证
通过 .env 或配置文件间接控制(不适用默认端口)
Symfony 应用本身不从 .env 读取服务器端口——端口是运行时参数,不属于应用配置层。因此:
-
APP_ENV、APP_DEBUG等环境变量不影响端口 - Web 服务器(如 Nginx/Apache)部署时,端口由其自身配置决定,与 Symfony 无关
- Docker 环境中需同时修改
docker-compose.yml的ports映射和容器内监听逻辑
验证端口是否生效
启动后可通过以下方式确认:
- 终端输出明确显示类似
Web server listening on http://127.0.0.1:8080 - 访问
http://127.0.0.1:8080,观察页面是否正常加载 - 执行
lsof -i :8080(macOS/Linux)或netstat -ano | findstr :8080(Windows)检查端口占用进程











