我该如何让其他电脑访问我的本地服务器?

16

我刚刚接触PHP,还不知道如何解释它。我在我的电脑上运行WAMP,希望能够从另一台计算机访问我的localhost。

这是否可能? 我应该怎么做?


你没有提到这些计算机是否在同一个网络上。这是我们需要知道的重要信息。 - Lix
@Lix:计算机在同一个网络上,简单的局域网。 - Prathyash Prasanthan
太棒了 - 只要涉及的计算机不太多,我的解决方案应该对您来说没问题。 - Lix
@Lix 当前的本地主机是127.0.0.1,我需要改变它吗? - Prathyash Prasanthan
我只是想指出这个问题有严重的安全隐患。我强烈建议只在可靠的网络中将WAMP公开访问。你可以通过Windows防火墙设置来配置此项。 - Dan
显示剩余3条评论
8个回答

12

假设所有机器都在同一网络上并且您拥有机器的管理权限(您将需要编辑某些系统文件)。

您可以轻松地完成这个过程,但必须是手动的。

您需要在hosts文件中创建一个条目-

  • 在Windows机器上,该文件位于%SystemRoot%\system32\drivers\etc\hosts
  • 在类Unix系统上,它位于/etc/hosts

http://en.wikipedia.org/wiki/Hosts_(file)#Location_in_the_file_system。 有关主机文件所在位置的详细信息,请参见链接。 这取决于操作系统。


您需要在每台要访问您的本地主机的机器上执行以下步骤:

在主机文件的末尾添加一行类似于以下内容:

10.0.0.42       prathyash-localhost.com
IP地址(在上面的示例中为10.0.0.42)是本地主机的地址; 您计算机的IP地址。域名(prathyash-localhost.com)是映射到该IP地址的内容。

保存该文件后,每当计算机指向prathyash-localhost.com时,它将被重定向到您的IP地址。防火墙仍然是障碍-但其他答案已经涵盖了这一点,因此我不会重复他们的贡献。


根据您的情况,手动编辑数十个甚至数百个文件可能不可行。在这种情况下,您可能需要咨询网络管理员(他可能会在Server Fault上出现),他可能会为您提供更好的解决方案。


5
这个问题可以通过以下方式解决。这适用于使用wamp服务器或类似本地服务器的用户。首先确保您已经修改了httpd.conf文件,在其中找到以下行:
#  onlineoffline tag - don't remove
Order Allow,Deny
Allow from all

如果您有智能手机,请开启wifi热点以连接您的PC和要连接的设备。 在PC上打开命令提示符并输入ipconfig。 记下您的PC的IPv4地址(例如192.168.43.47),位于无线局域网适配器Wireless Network Connection下。 在要连接的PC上设置“自动获取IP地址”。 在连接之前,请确保WAMP服务器在线。 在客户端PC上打开浏览器,并输入先前记下的IP地址。这应该可以正常工作。 在某些情况下,您可能需要关闭防病毒软件。

3

如果两台计算机在同一网络上,只需针对计算机的IP地址进行目标设置,并确保任何阻止访问端口80(防火墙)的内容都已关闭。


2
@Shaun Hare讲得很好,但是,如果这些计算机不在同一网络中(我的情况是需要远程演示),您还需要在路由器上设置端口转发,并且远程方需要知道路由器的公共IP地址。

基本上,远程方会在浏览器中输入http://123.123.123.123/index.php,路由器会通过端口转发将该请求指向安装在192.168.10.10的WAMP服务器(例如)。


1

1

不行。将适当的守护程序绑定到0.0.0.0/::或外部接口,并使用机器的IP地址。


0
你可以尝试调整防火墙设置。我发现入站和出站规则拦截了所有公共网络流量(即所有到我的路由器的流量,尽管它有密码而被视为公共)。我勾选了所有带有Apache名称的规则,允许公共网络上的流量(入站和出站)。此外,我确实启动了mySQL服务器,但这对此事不应该产生任何影响(虽然生活曾经像这样令我惊奇,一些微不足道的事情最终竟然变得相当重要,所以我会把它作为最后的手段,但不太可能)。另外,我认为这至少可以在同一个WiFi网络上工作(我知道这是局域网的一部分,但只是为了消除任何歧义),因为我只用我的Android手机进行了测试(我多么希望我有一个Windows Phone)。希望这对任何人都有用!

0

在您的路由器配置中转发端口80。启动WAMP。现在,当任何外部机器访问您的IP地址时,它将跳转到“www”文件夹并显示索引文件。如果您无法这样做,则意味着您的防火墙正在阻止请求:请禁用它并重试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接