本文详解如何将本地开发的 laravel(或其他 php cli server)api 服务暴露到同一 wi-fi 网络下的其他设备,核心是使用 `php artisan serve --host=192.168.x.x` 绑定真实局域网 ip,并规避防火墙与跨域常见问题。
在本地开发中,php artisan serve 默认仅监听 127.0.0.1(即 localhost),这意味着服务仅对本机可见,其他设备即使在同一 Wi-Fi 下也无法访问——这正是你遇到 ERR_CONNECTION_REFUSED 或类似网络错误(如截图所示)的根本原因。
要让其他 PC(例如同事的笔记本或手机)通过你的局域网 IPv4 地址(如 192.168.2.222)成功调用 API,需完成以下关键步骤:
不要依赖默认命令,必须指定 --host 参数为你的实际内网 IPv4 地址(可通过 ipconfig(Windows)或 ifconfig / ip a(macOS/Linux)确认):
php artisan serve --host=192.168.2.222 --port=8000
? 提示:--port 可选,默认为 8000;确保该端口未被其他程序占用。启动后终端会显示 Starting Laravel development server: http://192.168.2.222:8000 —— 此 URL 即为其他设备应访问的地址。
Windows Defender 防火墙、macOS 防火墙或第三方安全软件可能拦截入站连接。临时验证可先关闭防火墙(仅测试用),生产环境务必添加精确规则:
sudo ufw allow 8000/tcp
curl -v http://192.168.2.222:8000/api/version
设备是否确实在同一子网(如均为 192.168.2.x);php -S 192.168.2.222:8000 -t public/
只要正确绑定 IP 并放行端口,局域网 API 调试即可秒级生效——无需改代码、无需部署、无需公网 IP。