在团队开发里,用 phpEnv 在 Windows 上快速搭好 PHP 运行环境后,常常需要让同局域网的手机或同事电脑访问你本机运行的网站。但很多初学者发现,本机浏览器用 localhost 能打开,别人用你的内网 IP 却连不上。这背后主要是 Web 服务绑定地址、防火墙以及 phpEnv 站点配置三方面原因。下面按实际调试流程逐步说明如何配置。

一、确认本机内网 IP 地址
在开始配置前,必须先知道电脑在局域网里的 IP。按下 Win+R 输入 cmd 回车,执行 ipconfig 命令,在无线局域网适配器或以太网适配器下找到 IPv4 地址,例如 192.168.0.105。这个地址就是别人访问你本机服务时要填的地址。
如果路由器重启后该地址经常变,建议到网络设置里把 IPv4 配置为手动,填写固定的 192.168.0.xxx、子网掩码和网关。这样每次调试都不用重新查 IP,也方便其他设备在 hosts 文件里做映射。
二、修改 phpEnv 站点监听配置
phpEnv 默认安装的 Apache 或 Nginx 虚拟主机通常只监听 127.0.0.1。我们需要让服务监听所有网卡或指定内网 IP。以 Apache 为例,在 phpEnv 面板中打开对应站点的配置文件,找到类似下面的段落:
<VirtualHost 127.0.0.1:80>
DocumentRoot "D:/www/project"
ServerName local.test
</VirtualHost>
把第一行的绑定地址改为 0.0.0.0:80,表示接受来自任何网络接口的请求。改完后重启 Apache 服务。若使用 Nginx,则修改 listen 指令:
server {
listen 0.0.0.0:80;
server_name local.test;
root D:/www/project;
}
这里需要注意,绑定 0.0.0.0 虽然方便,但在公共网络环境有安全风险。纯内网调试没问题,若是连接开放 Wi-Fi 则建议只绑具体内网 IP,例如 listen 192.168.0.105:80;。同时确认 phpEnv 里该站点端口没有被其他程序占用。
三、放行 Windows 防火墙端口
即使 Web 服务已经监听正确,Windows 防火墙仍可能拦截外部入站请求。打开控制面板中的高级安全 Windows Defender 防火墙,新建入站规则,选择端口,填写 80(或你用的 8080 等),允许连接,应用于专用和公用网络均可。
也可以用管理员身份运行 cmd 快速添加规则:
netsh advfirewall firewall add rule name="phpEnv_LAN" dir=in action=allow protocol=TCP localport=80
配置完成后,让同事在浏览器输入 http://192.168.0.105 测试。若仍不通,先确认两台机器在同一网段且互相能 ping 通,再检查 phpEnv 是否真的以管理员权限启动了服务进程。
四、PHP 内置服务器的特殊处理方式
有些轻量调试直接用 PHP 内置服务器,命令若写成 php -S localhost:8000 同样只限本机。必须显式指定内网 IP:
<?php // 命令行执行以下指令,不要写进 PHP 文件 // php -S 192.168.0.105:8000 -t D:/www/project ?>
上面的代码块仅展示启动命令注释,实际是在终端运行。这样手机访问 http://192.168.0.105:8000 就能加载页面。内置服务器不支持多站点虚拟主机,仅适合单入口项目联调。
五、常见问题与排查清单
配置完毕但访问慢或报错时,可按表核对:
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 连接被拒绝 | 服务未监听内网 IP | 修改虚拟主机 listen 地址为 0.0.0.0 |
| 一直超时 | 防火墙阻断 | 添加入站规则放行 TCP 端口 |
| 本机正常别人 404 | ServerName 限制 | 增加 ServerAlias 或改用 IP 直接访问 |
另外,若项目里使用了绝对路径跳转或硬编码了 localhost 域名,别的主机打开后可能出现资源加载失败。建议调试阶段改用相对路径,或在前端代码里统一读取当前 host。
六、固定访问入口的小技巧
为了减少记忆 IP 的麻烦,可以在同事电脑的 hosts 文件里加入一行:192.168.0.105 local.test,之后对方直接用 local.test 访问,便于复现你本机的多站点环境。
整体来看,phpEnv 的局域网调试核心就是放开监听地址、过防火墙、理清项目里的地址引用。只要这三处不出错,内网设备访问本地服务就很稳定,联调效率也会明显提高。