本文教你如何将本地 laravel 开发服务器绑定到局域网可见的 ipv4 地址(如 192.168.2.222),使同一 wifi 下的其他设备能直接访问并测试你的 api,解决“connection refused”或“unable to connect”等常见错误。
默认情况下,php artisan serve 仅监听 127.0.0.1(即 localhost),这意味着它拒绝来自外部设备(如另一台 PC 或手机)的连接——即使它们在同一 WiFi 网络中。要让 API 可被局域网内其他设备访问,必须显式指定监听地址为本机的局域网 IPv4 地址,并确保网络与系统层面允许该连接。
在项目根目录下,运行以下命令(将 192.168.2.222 替换为你本机实际的 IPv4 地址):
php artisan serve --host=192.168.2.222 --port=8000
? 提示:可通过 ipconfig(Windows)或 ifconfig / ip a(macOS/Linux)确认本机 IPv4 地址(通常位于 Wi-Fi 或 wlan0 网卡段,形如 192.168.x.x 或 10.0.x.x)。切勿使用 127.0.0.1 或 localhost。
启动成功后,终端会显示:
Laravel development server started: http://192.168.2.222:8000
此时,在另一台电脑浏览器中输入 http://192.168.2.222:8000/api/your-endpoint 即可直接调用你的 API。
错误:Connection refused 或无法加载页面
→ 检查 Windows/macOS 防火墙是否阻止了 php 或端口 8000:
错误:Address already in use
→ 表明端口被占用,可更换端口(如 --port=8080),或先终止占用进程:
# Windows(查找并结束 PID) netstat -ano | findstr :8000 taskkill /PID/F # macOS/Linux lsof -i :8000 kill -9
仍无法访问?验证基础连通性
在客户端
PC 上执行:
ping 192.168.2.222 telnet 192.168.2.222 8000 # 若无 telnet,可用 nc -zv 192.168.2.222 8000
若 ping 通但 telnet 失败,说明服务未正确监听或被防火墙拦截。
php artisan serve 仅适用于开发环境,不适用于生产部署。绑定局域网 IP 后,任何能访问该 IP 的设备均可请求你的 API —— 请确保:
只需一条命令即可实现跨设备 API 测试:
php artisan serve --host=<你的局域网IPv4> --port=<自选端口>
配合防火墙放行与基础网络诊断,95% 的“局域网访问失败”问题都能快速解决。记住:不是改前端请求地址,而是让后端服务主动“走出 localhost”。