改 php artisan serve 的端口应使用 --port 参数,如 php artisan serve --port=8080;app_url 仅影响 url 生成,不控制监听端口,修改无效。

直接改 php artisan serve 的参数就行,不用动 .env 或 Web 服务器配置——那俩对内置服务器完全无效。
为什么改 APP_URL 没用
很多人在 .env 里改了 APP_URL=http://localhost:8080,结果 php artisan serve 还是跑在 8000。这是因为 APP_URL 只影响生成 URL(比如邮件里的链接、重定向地址),不控制开发服务器监听哪个端口。
-
php artisan serve默认监听127.0.0.1:8000,和APP_URL无关 -
APP_URL被url()、route()等辅助函数读取,用于拼接完整 URL - 改错地方会导致前端 AJAX 请求 404(比如 API 地址拼成
http://localhost:8000/api/xxx,但你实际在 8080 启的)
php artisan serve --port 的正确用法
这是最轻量、最直接的方式,适合日常开发调试。
Laravel 13.2.0 是基于 PHP 8.3+ 的高性能框架,官方推荐通过 Composer 安装。它内置 AI SDK、JSON:API Resources 及原生向量搜索,支持属性驱动开发与队列路由,大幅提升开发效率。相比旧版,13.2.0 优化了缓存 TTL 管理与实时通信,无需 Redis 即可横向扩展。作为现代 Web 开发首选,它兼顾安全与极速体验,助您快速构建企业级应用。
- 指定端口:
php artisan serve --port=8080 - 同时换 host(比如允许局域网访问):
php artisan serve --host=0.0.0.0 --port=8080 - 加
--host=0.0.0.0后必须确保防火墙放行该端口,否则外网连不上 - 如果提示
Address already in use,先用lsof -i :8080(macOS/Linux)或netstat -ano | findstr :8080(Windows)查占用进程
Apache/Nginx 配置改端口是另一回事
如果你没用 php artisan serve,而是把 Laravel 部署到 Apache 或 Nginx(比如 WAMP/MAMP/XAMPP),那才需要改 Web 服务器配置。
- Apache:改
httpd.conf里的Listen 80→Listen 8081,再重启服务 - Nginx:改
server { listen 80; }→listen 8081;,然后nginx -s reload - 这种改法影响的是整个 Web 服务器,不是单个 Laravel 项目;且必须配好虚拟主机指向
public/目录,否则 403 或 500 - 注意:改完后浏览器要访问
http://localhost:8081,不是http://localhost:8081/public
真正容易被忽略的是:不同场景对应不同修改点。用内置服务器就只碰 --port;用 Apache/Nginx 就别碰 .env 里的 APP_URL 去“配合”,它只管生成链接,不管监听哪。










