phpEnv是一款集成了PHP、MySQL、Nginx、Apache等多种服务的本地环境搭建工具,很多开发者用它快速部署PHP项目。默认配置下phpEnv的服务仅监听127.0.0.1地址,加上系统防火墙默认会拦截外部设备的入站请求,所以局域网内的其他电脑无法直接访问本机的项目。要实现局域网访问,需要同时调整phpEnv的服务配置和系统防火墙规则。

phpEnv服务配置调整
首先需要将phpEnv中Web服务的监听地址从本地回环地址改为所有网卡地址,具体步骤如下:
1. 修改Web服务器监听地址
如果使用Apache作为Web服务器,打开phpEnv安装目录下的Apache配置文件,默认路径为D:phpEnvApacheconfhttpd.conf,找到 Listen 配置项,将默认的Listen 127.0.0.1:80修改为Listen 0.0.0.0:80,如果是其他端口比如8080,就对应修改为Listen 0.0.0.0:8080。
如果使用Nginx作为Web服务器,打开Nginx配置文件,默认路径为D:phpEnvNginxconfnginx.conf,找到server块下的listen配置,将listen 127.0.0.1:80修改为listen 80即可,Nginx默认监听所有网卡的对应端口。
2. 确认站点配置允许外部访问
打开phpEnv的站点管理界面,选中需要开放局域网访问的站点,检查站点的端口设置,确保端口没有被限制为仅本地访问,同时确认站点的根目录权限允许读取,避免出现403错误。
修改完成后重启phpEnv的Web服务,确保配置生效。可以用以下命令在本地测试服务是否正常监听所有地址:
netstat -ano | findstr ":80"
如果输出结果中本地地址显示为0.0.0.0:80,说明监听配置已经生效。
系统防火墙规则配置
phpEnv服务监听地址修改完成后,还需要在系统防火墙中新增入站规则,允许外部设备访问对应的端口。
Windows防火墙入站规则新增步骤
- 打开Windows设置,进入更新和安全,选择Windows安全中心,点击防火墙和网络保护
- 点击高级设置,在弹出的窗口左侧选择入站规则,右侧点击新建规则
- 规则类型选择端口,点击下一步
- 选择TCP协议,输入需要开放的端口号,比如80或者8080,点击下一步
- 选择允许连接,点击下一步
- 保持默认勾选的域、专用、公用网络,点击下一步
- 给规则命名,比如phpEnv局域网访问80端口,点击完成即可
验证局域网访问
首先需要获取本机在局域网内的IP地址,在cmd中输入命令:
ipconfig
找到无线局域网适配器或者以太网适配器的IPv4地址,比如192.168.1.100。然后在局域网内其他电脑的浏览器中输入http://192.168.1.100:80,如果能正常显示项目页面,说明配置成功。
常见问题排查
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| 其他电脑无法打开页面 | 本机防火墙未开放对应端口 | 检查入站规则是否生效,端口是否对应 |
| 提示403 Forbidden | 站点目录权限不足 | 给站点根目录添加Everyone的读取权限 |
| 提示连接超时 | 本机IP地址变化或者不在同一局域网 | 确认两台设备连接同一路由器,重新获取本机IP |
注意:如果是公司或者学校的局域网,可能还有额外的网络策略限制端口访问,这种情况下需要联系网络管理员开放对应端口的访问权限。