我是 PHP 新手,所以我不知道如何解释它。我正在我的计算机上运行 WAMP,我希望能够从另一台计算机访问我的本地主机。
可能吗?我怎样才能做到这一点?
前提是所有机器都在同一个网络上,并且您对这些机器具有管理权限(您必须编辑一些系统文件)。
你可以很容易地做到这一点,但它必须是一个手动过程。
您必须在主机文件中创建一个条目 -
%SystemRoot%\system32\drivers\etc\hosts
/etc/hosts
http://en.wikipedia.org/wiki/Hosts_(file)#Location_in_the_file_system。有关hosts 文件所在位置的
详细信息,请参阅链接。这取决于操作系统。
必须在您希望
访问您的localhost
机器的每台机器上完成以下操作。
在主机文件的最后添加一行,类似于:
10.0.0.42 prathyash-localhost.com
IP 地址(在上面的示例中是10.0.0.42
)是您的本地主机的地址;您的计算机 IP 地址。域名 ( prathyash-localhost.com
) 是映射
到 IP 地址的内容。
保存该文件后,只要该计算机指向prathyash-localhost.com
,它将被定向到您的 IP 地址。防火墙仍然是一个障碍 - 但是其他答案涵盖了这一点,所以我不会重复他们的贡献。
根据您的情况,手动编辑数十个甚至数百个文件可能不可行。在这种情况下,您可能需要咨询网络管理员(他可能会在Server Fault上闲逛),他可能会为您提供更好的解决方案。
这个问题可以解决如下。这适用于使用 wamp 服务器或类似本地服务器的人。首先确保你已经修改了 httpd.conf.scroll 直到你找到这一行:
# onlineoffline tag - don't remove
Order Allow,Deny
Allow from all
如果您有智能手机,请打开 wifi 热点以连接您的电脑和您想要连接的电脑。在您的 PC 中打开命令提示符并键入 ipconfig。在无线 LAN 适配器无线网络连接下记下您电脑的 ip4 地址(例如 192.168.43.47)。
在要连接的电脑上设置“自动获取IP地址”。在连接之前,请确保您的 wamp 服务器在线。打开客户端电脑的浏览器并输入之前记下的 IP 地址。这应该可以正常工作。在某些情况下,您可能需要关闭防病毒软件。
是的,如果它们在同一个网络上,只需将计算机的 IP 地址作为目标,并确保任何一台计算机上任何会阻止访问端口 80(防火墙)的东西都已关闭
@Shaun Hare解释得很好,但是,如果这些计算机不在同一个网络中(我的情况,需要远程演示时),您还需要在路由器上设置端口转发,而远程端需要路由器的公共 IP 地址。
基本上,远程端会进入http://123.123.123.123/index.php
他们的浏览器,路由器会将该请求(通过端口转发)指向安装在192.168.10.10
(例如)的 WAMP 服务器。
你不能。将适当的守护进程绑定到 0.0.0.0/:: 或外部接口并使用机器的 IP 地址。
如果是用于测试,您可以使用http://localhost.run/或https://ngrok.com/之类的服务来临时将 localhost 放到互联网上。
在您的路由器配置上发布转发端口 80 。开始沼泽。现在,当从任何外部机器访问您的 IP 地址时,它将跳转到“www”文件夹并显示索引文件。如果您不能这样做,这意味着您的防火墙正在阻止请求:禁用它并重试。
您可以只修补防火墙。我发现入站和出站规则阻止了所有公共网络流量(也就是说,所有到我的路由器的流量都被视为公共的,即使它有密码)并继续选中该框以允许公共网络上的流量(入站和出站)用于所有带有 Apache 名称的规则。另外,我确实打开了 mySQL 服务器,但在这件事上根本不应该做任何事情(尽管生活让我感到惊讶,之前一些微不足道的事情最终变得非常重要,所以我会这样做最后的手段,但不太可能)。另外,我认为这至少应该在同一个 WiFi 网络上工作(我知道这是 LAN 的一部分,但只是为了消除任何歧义),因为我只用我的 Android 手机进行了测试(哦,我多么希望我有一个 Windows Phone )。