能,但默认不允许;需修改httpd.conf中listen为0.0.0.0:80、将require local改为require all granted,并在windows防火墙添加入站规则放行80端口,最后用本机局域网ip(如192.168.x.x)测试访问。

能,但默认不允许。phpEnv 启动的 Apache 默认只监听 127.0.0.1,且访问控制设为 Require local,局域网其他设备直接用你的 IP 访问会返回 403 Forbidden 或连接被拒。
修改 Apache 监听地址和访问权限
这是最基础、也最容易漏掉的两步:既要让 Apache 接收非本地请求,又要允许这些请求进来。
- 打开
phpEnv\apache\conf\httpd.conf,找到Listen行,确保它是Listen 80或Listen 0.0.0.0:80;如果写的是Listen 127.0.0.1:80,必须改掉 - 找到你网站根目录对应的
<directory></directory>块(通常在httpd-vhosts.conf或httpd.conf末尾),把里面的Require local改成Require all granted - 改完务必重启 Apache:用 phpEnv 面板点“重启 Apache”,或命令行执行
httpd -k restart
Windows 防火墙必须放行端口
即使 Apache 配好了,Windows 防火墙默认会拦截所有入站的 80 端口请求——这是局域网访问失败最常见的原因。
- 进“控制面板 → Windows Defender 防火墙 → 高级设置”
- 左侧选“入站规则”,右侧点“新建规则”
- 选“端口” → TCP → 特定本地端口填
80(或你实际用的端口,如8080)→ 允许连接 → 勾选“域、专用、公用”三个网络位置 → 规则名随便写,比如phpEnv-HTTP - 不建议临时关防火墙,那等于裸奔;规则方式更可控
确认本机局域网 IP 并测试直连
别用 localhost 或 127.0.0.1 测试,那是本机回环地址,对别人无效。必须用你真实的局域网 IP。
- Win + R →
cmd→ 输入ipconfig,找 “IPv4 地址”,通常是192.168.x.x或10.x.x.x开头那一行 - 在另一台局域网设备(手机/笔记本)浏览器里输入
http://192.168.x.x(不带端口的话就是 80;如果用了 8080 就写http://192.168.x.x:8080) - 如果页面空白或超时,先检查 Apache 是否真在运行(phpEnv 面板状态栏是否绿色)、防火墙规则是否生效、目标设备能否 ping 通该 IP
遇到 403 Forbidden 的典型原因
配置看似全对,但还是 403?大概率是权限或路径细节没对齐。
-
DocumentRoot路径里的反斜杠\在 Apache 配置中容易出问题,统一用正斜杠/,比如D:/www/myapp -
<directory></directory>块中的路径必须和DocumentRoot完全一致,大小写、末尾斜杠都不能差 - Apache 进程默认以 Windows 当前用户权限运行,确保该用户对网站目录有读取权限(右键目录 → 属性 → 安全 → 检查用户权限)
- 如果你启用了虚拟主机,
ServerName不影响局域网直连,但若用域名访问(如http://dev.test),hosts 和VirtualHost必须严格匹配,否则可能跳到默认站点或 404
真正卡住人的地方往往不是配置本身,而是改完没重启服务、防火墙规则没选“公用网络”、或者误把 127.0.0.1 当成可共享地址。局域网访问本质就三件事:Apache 听得见、防火墙放得进、对方找得到——少一个环节都白搭。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











