局域网无法访问本地PHP游戏网站的核心原因是网络通路和权限控制被阻断,需检查Web服务器监听地址、Windows防火墙设置及项目目录权限。

本地 PHP 游戏网站在自己电脑上能打开,但局域网内其他设备(比如同事手机、另一台电脑)访问不了,核心问题通常不是代码或游戏逻辑本身,而是网络通路和权限控制被拦住了。重点检查三块:Apache/Nginx 是否允许外部连接、Windows 防火墙是否放行、项目目录是否开了网络读取权限。
确认 Web 服务器监听所有地址
默认情况下,有些 PHP 环境(尤其是 WAMP/XAMPP 的新版本)会把 Apache 绑定到 127.0.0.1,这意味着只响应本机请求。别人用你的局域网 IP 访问时,连接直接被拒绝。
- 打开 Apache 配置文件 httpd.conf,搜索
Listen,确保这一行是:Listen 0.0.0.0:80或Listen 80(不带 127.0.0.1 前缀) - 再找
段落,比如指向你游戏项目的那一段,里面必须包含:Require all granted(Apache 2.4+)
或旧版写法:Order allow,denyAllow from all - 改完保存,重启 Apache 服务
放行 Windows 防火墙
即使服务器配置正确,Windows 自带防火墙也会默认拦截 80(或 8080 等)端口的入站请求,这是最常被忽略的一环。
- 进「控制面板 → 系统和安全 → Windows 防火墙 → 允许应用或功能通过 Windows 防火墙」
- 点击「允许另一应用…」→ 找到 Apache 安装目录下的 httpd.exe(例如
C:\wamp64\bin\apache\apache2.4.58\bin\httpd.exe)→ 添加 - 务必勾选「专用」和「公用」两个网络类型
- 如果用了非标准端口(比如 8080),也可直接在防火墙里新增入站规则,开放对应端口
检查项目路径与权限
PHP 游戏网站往往依赖静态资源(图片、JS、音频)、session 写入、甚至上传临时目录。如果这些文件夹对网络用户不可读/不可执行,就会出现 403 错误或白屏。
- 确认你的游戏项目放在 Apache 的 DocumentRoot 下(如
C:\wamp64\www\my-game),或已在httpd-vhosts.conf中正确定义了DocumentRoot和 - 右键项目文件夹 → 「属性 → 安全」→ 点击「编辑」→ 添加用户 Everyone 或 IIS_IUSRS(取决于 Apache 运行身份),赋予「读取和执行」「列出文件夹内容」「读取」权限
- 特别注意:如果游戏用到
session_start()或文件上传,确保session.save_path指向的目录(查看 php.ini 中该配置项)也具备写入权限
验证与快速测试
别靠猜,用最简方式验证通路是否打通:
- 在其他设备浏览器中输入:
http://[你的电脑IP]:[端口](例如http://192.168.1.105),先看能否打开 Apache 默认页 - 能打开默认页,说明网络和防火墙没问题,问题出在虚拟主机或项目路径配置;打不开,则回到前两步重点排查
- 用手机连同一 WiFi,尝试访问,比电脑更接近真实终端环境
- 打开 Apache 的
error.log(一般在 logs/ 目录下),看别人访问时有没有 403、404 或 Permission denied 类错误,日志比现象更准
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











