我无法从网络中的其他设备访问本地主机的原因是什么?

What can be the reason I cannot access local host from other devices in the network?

我用一台电脑做了一个本地主机,我想通过其他设备访问它。问题是服务器只能在主机中访问。我应该怎么做才能通过网络中的其他设备建立连接。我使用 Xampp 作为本地主机和主机的 IP 地址通过浏览器建立连接。

localhost本身是指主机位于本地计算机上,因此不能直接从外部计算机访问。当您在浏览器上键入 localhost 时,您的服务器会识别它并根据给定的地址将其重定向到本地端口或 ip 地址。 localhost 是一个特殊的主机名,几乎总是解析为 127.0.0.1。如果您要求其他人连接到 http://localhost,他们将连接到他们的计算机或您的计算机。

因此,为了访问这台计算机,您需要找到该计算机的本地网络 IP 是什么。然后其他人可以通过该 IP 访问您的站点。

如果设备在同一网络中:

您可以通过转到命令提示符或按 Windows + R 然后输入 ipconfig 或 ipconfig /all 来查找本地网络的 IP。它会给出一些信息,您的本地 IP 应该类似于 192.168.1.x.

您还需要确保您配置的任何防火墙都允许端口 80 上的流量连接到 XAMP 服务器

如果您希望从 LAN 服务器(而非 Web)访问您的 PHP 应用程序,请遵循这些步骤

  1. 获取服务器的内部 IP 或静态 IP(例如:192.168.1.193)
  2. 在记事本中打开 XAMPP>apache>conf>httpd.conf 文件
  3. 搜索收听 80
  4. 上面一行看起来像- #Listen 0.0.0.0:80 / 12.34.56.78:80
  5. 更改IP地址并替换为静态IP
  6. 保存 httpd.conf 文件确保指向服务器 #Listen 192.168.1.193:80
  7. 在应用根目录中config.php(数据库连接)替换localhost 使用服务器的 IP 地址

注意:如果安装了防火墙,请确保将http端口80和8080添加到例外并允许监听。 转到控制面板>Windows 防火墙>允许程序通过 windows 防火墙进行通信>添加另一个程序名称:http Port: 80 再添加一个作为 http - 8080

如果IIS (Microsoft .Net Application Internet Information Server) 与服务器上已有的任何Microsoft .Net 应用程序一起安装,那么它已经占用了80 端口。在这种情况下,将 #Listen 192.168.1.193:80 更改为 #Listen 192.168.1.193:8080

如果设备在不同的网络中: 您可以使用以下外部服务轻松访问您的计算机