phpenv 默认仅绑定 127.0.0.1,导致局域网其他设备无法访问;需手动修改 httpd.conf 中 listen 为 0.0.0.0:80、require local 改为 require all granted,并放行 windows 防火墙端口。

phpEnv 本身不提供内网穿透能力,必须配合 frp、ngrok 等第三方工具才能实现局域网外访问;直接改 phpEnv 配置或开防火墙无法让外网机器通过公网域名访问到你本地的 localhost 服务。
为什么 phpEnv 启动的服务默认局域网都访问不了?
phpEnv 是 Windows 下的 PHP 集成环境(类似 phpStudy),默认绑定的是 127.0.0.1,即只监听本机回环地址。哪怕你在同一局域网的另一台电脑上输入你的 IP(如 192.168.1.100),也会被拒绝连接。
- 检查 Apache/Nginx 日志,常见错误是
Connection refused或浏览器显示“无法连接” - phpEnv 的控制面板里没有“监听所有地址”的开关,得手动改配置文件
- 即使改成
0.0.0.0,Windows 防火墙仍会拦截来自局域网的 80/443 端口请求
让局域网其他设备能访问 phpEnv 站点的实操步骤
这是最基础、无须公网 IP 的调试前提。做完这步,才能谈“穿透”。
- 打开 phpEnv 安装目录下的
Apache/conf/httpd.conf(或 Nginx 的conf/nginx.conf),找到Listen 80下一行,确认ServerName没锁死在localhost;把Require local改成Require all granted - 在
httpd.conf中搜索127.0.0.1,把所有127.0.0.1替换为0.0.0.0(仅限开发测试,勿用于生产) - 用管理员权限运行 CMD,执行:
netsh advfirewall firewall add rule name="phpEnv-HTTP" dir=in action=allow protocol=TCP localport=80 - 重启 phpEnv 的 Apache/Nginx,然后在局域网另一台设备浏览器中输入你的本机 IP(如
http://192.168.1.100)——能打开即成功
用 frp 把 phpEnv 服务暴露到公网的关键配置
frp 是目前最稳定、可自建的穿透方案。注意:服务端和客户端版本号必须一致,否则会出现 login to server failed: EOF 或 broken pipe。
- 服务端(云服务器)
frps.ini至少要开两个端口:bind_port=7000(frp 控制通道)、vhost_http_port=8080(HTTP 流量入口) - 客户端(你的 phpEnv 机器)
frpc.ini中:server_addr填云服务器公网 IP 或域名,server_port填7000,local_port填 phpEnv 实际监听的端口(如80),custom_domains填你已解析到云服务器 IP 的域名(如demo.tinywan.top) - phpEnv 的站点根目录需对应好,比如你绑定了
demo.tinywan.top,那 Apache 的VirtualHost里ServerName和ServerAlias必须包含它,否则返回 404 - 启动命令必须带完整路径:
./frpc.exe -c ./frpc.ini,不能漏掉-c参数,否则读默认配置会失败
常见失败信号和绕过思路
很多问题不是配置错,而是被中间环节截断了。遇到连不上,优先查这几处:
-
frpc启动后日志没出现start proxy success—— 检查服务端frps是否正在运行,且7000端口没被云厂商安全组屏蔽 - 能连上 frp 但打不开网页,返回 502 或空白 —— phpEnv 的 Apache/Nginx 没真正监听
0.0.0.0:80,用netstat -ano | findstr :80确认监听地址 - 用域名访问提示 “连接已重置” —— DNS 解析正常,但云服务器的
8080端口未开放,或 frp 服务端没配vhost_http_port - 想省事用免费二级域名(如
xxx.frp.yo1c.cc)—— 确保服务端启用了subdomain_host = frp.yo1c.cc,且客户端写了subdomain = xxx
真正卡住的地方往往不在 frp 配置本身,而在网络链路的每一层是否放行:本地防火墙 → 路由器 NAT → 云服务器安全组 → frp 服务端端口绑定 → phpEnv 服务监听地址。少一环,就全盘不通。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











