通过LAN网络从另一台计算机访问localhost(xampp) - 如何?

时间:2011-04-02 15:39:55

标签: apache xampp localhost remote-debugging httpd.conf

我刚在家里建立了一个Wi-Fi网络。我的桌面计算机(192.168.1.56)上有我的所有文件,并希望从另一台计算机(192.168.1.2)访问本地主机。

在我的桌面上,我可以通过普通http://localhost访问localhost。 Apache像往常一样在端口80上运行。

我必须做些什么才能实现这一目标?网上有文档,但它们要么不起作用,要么过于片段化,难以理解。

我想我必须更改我的apache的httpd.conf文件和hosts文件。关于要做出哪些改变的任何想法?

24 个答案:

答案 0 :(得分:97)

Localhost只是环回的名称,例如它将自己称为“我”。

要从其他计算机上查看它,您可能只需http://192.168.1.56http://myPcsName,如果不起作用,您的计算机或httpd上可能会运行防火墙。 conf只在127.0.0.1上收听

答案 1 :(得分:42)

感谢您的详细解释。

只需详细说明,在Windows中,转到控制面板 - >防火墙,例外情况“添加http和端口80”。然后在服务中选中“http(Web服务器端口80)”和“https(Web服务器端口443)”,如果您还需要https工作。好的,好的,关闭

然后转到网络上的任何计算机,并在网络浏览器中输入http://computer-name(您更改防火墙并在其上运行xampp)并且欢乐时光:)

答案 2 :(得分:21)

这很容易

  1. 转到您的XAMPP控制面板
  2. 点击apache> config> Apache(httpd.conf)enter image description here
  3. 搜索聆听80 并替换为聆听8080
  4. 之后使用 ipconfig 命令(cmd console)
  5. 检查本地IP
  6. 搜索 ServerName localhost:80 并替换为您的本地IP:8080 (例如:192.168.1.156:8080)
  7. 在那之后打开apache> config> Apache(httpd-xampp.conf)enter image description here
  8. 搜索 别名/ phpmyadmin" C:/ xampp / phpMyAdmin /"     AllowOverride AuthConfig     需要本地替换为需要全部授予     ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
  9. 转到xampp> config>单击服务和端口设置并更改apache端口 8080
  10. 重新启动xampp
  11. 然后从其他电脑点击你的ip:8080(ex.192.168.1.156:8080)

答案 3 :(得分:17)

当您希望将PHP应用程序安装在LAN服务器上(而不是在Web上)时,请遵循以下步骤

  1. 获取服务器的内部IP或静态IP(例如:192.168.1.193)
  2. 在记事本中打开XAMPP> apache> conf> httpd.conf文件
  3. 搜索Listen 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(db connection)中将localhost替换为服务器的IP地址
  8. 注意: 如果安装了防火墙,请确保将http端口80和8080添加到例外并允许侦听。 转到控制面板> Windows防火墙>允许程序通过Windows防火墙进行通信>添加其他程序 名称:http 港口: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

    希望这有帮助! :)

答案 4 :(得分:6)

这应该是基本设置所需的全部内容

这种配置不会破坏localhost上的phpMyAdmin

建议在运行服务器的设备上使用静态IP

此示例使用192.168.1.x IP。您的网络配置可能使用不同的IP

在Apache的httpd.conf中你应该有:

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

我会将名称留空,以便获得默认值:

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#

允许客人机器和您自己。出于安全考虑,您可以避免允许来自所有,而是使用特定的访客IP,例如允许来自192.168.1.xxx ,其中xxx是来宾计算机IP。在这种情况下,您可能还需要考虑来宾计算机上的静态IP

# Controls who can get stuff from this server.
#
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
#     Deny from all
     Allow from all 
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.1.*YOURguestIP*
     Allow from 192.168.1.*YOURselfIP*
</Directory>

从托盘图标重新启动所有服务联机

答案 5 :(得分:5)

有时您的防火墙可能是问题所在。确保已禁用防病毒防火墙监控。它对我有用。

答案 6 :(得分:4)

如果您使用的是XAMPP 1.8.3 导航到文件httpd-xampp.conf并搜索 &#34;       #       #新的XAMPP安全概念       #                   服务器状态|服务器信息))&#34;&GT;

     Require local
     ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
     </LocationMatch>

&#34;

剪切此代码并将其保存在某处以备日后使用,即恢复此功能(请记住删除此代码会使您的计算机容易受到攻击)。在httpd-xampp.conf上保存更改,在XAMPP上重新启动服务,以及它。

答案 7 :(得分:4)

转到任务栏中的xampp-control

xampp-control -> Apache --> Config --> httpd.conf

记事本将打开配置文件

搜索

  

听80

上面有一行,会有类似的内容:12.34.56:80

改变它

12.34.56:80 --> <your_ip_address eg:192.168.1.5>:80

重启apache服务并检查它, 希望它应该有用......

答案 8 :(得分:3)

如果您连接到Wi-Fi网络,则更简单。只需找到已连接到Wi-Fi的IP。例如:

  

你的IP是“10.10.55.67”。

然后启动计算机中的xampp服务器。

然后在连接到同一Wi-Fi n / w的任何其他计算机上,键入

http://your-ip

例如:http://10.10.55.67

答案 9 :(得分:3)

这个工具为我节省了很多,因为我的机器上没有管理员权限,并且已经安装了nodejs。出于某种原因,我的网络上的配置不允许我访问仅将IP指向浏览器的其他计算机。

# Using a local.dev vhost
$ browser-sync start --proxy

# Using a local.dev vhost with PORT
$ browser-sync start --proxy local.dev:8001

# Using a localhost address
$ browser-sync start --proxy localhost:8001

# Using a localhost address in a sub-dir
$ browser-sync start --proxy localhost:8080/site1

http://www.browsersync.io/docs/command-line/

答案 10 :(得分:2)

确保您已按照本页其他答案中的说明设置了appache配置后,您可能还需要通过防火墙打开TCP端口,如下所述:

https://superuser.com/questions/569227/xampp-is-not-accessible-from-other-computer-through-lan-when-firewall-is-enable

答案 11 :(得分:2)

首先转到Windows计算机的网络和共享中心。然后按照一些步骤获取您的IPv4地址。 Just See The Image Illustration

将IPv4地址放在另一台计算机浏览器上。例如,http // 192.168.0.102

注意

  • 关闭Windows防火墙(如果不起作用,否则可选)

答案 12 :(得分:1)

以下是我在 Windows 10 上为我做的工作:

1)点击 windows + r 并输入 cmd 。在命令提示符下键入 ipconfig
2)找到您的 ipv4 地址,并将您的网站网址重命名为该网址,例如:http://192.168.0.2/example
3)现在确保防火墙可以访问 Apache HTTP Server 。搜索“允许应用程序通过Windows防火墙”的窗口点击它然后在右上角单击更改设置并确保Apache HTTP Server左侧有一个勾选一个私人或公共。希望它有所帮助

现在,您可以从局域网中的其他PC访问该网站

答案 13 :(得分:0)

如果有人仍然觉得困难,那么这简单的事情对我有用:

  1. 在您的主系统上,假设托管PC ... 转到控制面板> Windows Defender防火墙>允许通过Windows Defender防火墙>更改设置>查找“ Apache HTTP Server”>选中两个复选框(在“私有和公共”下)。 See Screenshot

    • 在我的案例中,有两个“ Apache HTTP Server”条目,因此我选中了两个条目的复选框。
  2. 在通过同一网络连接的任何其他系统上... 打开浏览器>键入:您的托管PC的IP地址,然后在网址栏中输入您的项目名称。例如:192.168.72.111/example.com /

希望有帮助! 谢谢。

答案 14 :(得分:0)

只需尝试:

http://ipaddressofpcwhichhasdatabase:portnumber(80 by default)/filename.extension

答案 15 :(得分:0)

使用本地IP的主机

打开CMD:ipconfig

无线LAN适配器Wi-Fi: IPv4地址。 。 。 。 。 。 。 。 。 。 。 :xx.xxx.xx.xxx

答案 16 :(得分:0)

要通过网络运行 Nodejs 服务器

const port = process.env.PORT || 3000; 
const server = http.createServer( 
server.listen(port, '0.0.0.0', ()  => console.log(`Server started on port ${port}`)
));

运行http://yournetworkipaddress:3000以通过局域网(LAN)访问您的应用程序

找到您的网络IP的步骤。

MacOS

  1. 转到系统偏好设置>网络
  2. 检查连接下的网络IP地址。

答案 17 :(得分:0)

从远程设备访问本地主机

先决条件:您的网站当前位于http://localhost:8081/上,其工具类似live-server

a)在相同网络上发布

在同一网络中,您可以使用当前的IP地址或主机名访问计算机。您可以通过向该IP发送一个ipconfig | grep IPv4来找到运行ping -a的IP地址或主机名。

http://192.128.1.18:80/
http://hostname:80/

注意:为了获得最佳效果,请使用端口80,连接到专用网络,然后检查防火墙设置。

b)在任何网络(更简便)

上发布
  1. 选项1 -您可以使用ngrok通过ngrok面向公众的端口提供端口转发

    Download ngrok并运行以下命令:

    $ ./ngrok http 8081
    

  2. 选项2 -您可以使用localhost.run通过以下命令创建ssh隧道:

    ssh -R 80:localhost:8081 kylemit@ssh.localhost.run
    


从本地开发工具访问远程设备

要将浏览器开发工具与连接的设备连接,请按照Get Started with Remote Debugging Android Devices

上的说明进行操作。
  1. 在手机上,启用“开发人员选项和USB调试”
  2. 通过USB将手机插入计算机并设置协议(不是文件/媒体传输)
  3. 打开开发人员工具>更多工具>远程调试(如果Device Not Detected,请在此处尝试)

  4. 找到您的站点,然后单击“检查”,这将打开一个新的检查器窗口


进一步阅读:

答案 18 :(得分:0)

我遇到了这个问题。我在虚拟机中使用XAMPP,该虚拟机的网络设置为“ NAT”。我将其更改为“桥接”,问题得到解决。

答案 19 :(得分:0)

替换 在Require Local文件中Require all granted xampp\apache\conf\extra\httpd-xampp.conf。{/ p>

答案 20 :(得分:0)

<Files ".ht*">
 Require all denied
</Files>

 replace to

<Files ".ht*">
 Require local
</Files>

答案 21 :(得分:0)

首先转到命令提示符并键入

Notepad C:/windows/system32/drivers/etc/hosts

然后将您的IP地址添加到您网站的网址下方。

其次,您转到命令提示符并键入 notepad c:/xampp/bin/apache/apache2.4.18/conf/extra/httpd-vhosts.conf

然后在下面添加

documentroot "Directory of your site"
Allow from all
Require all granted

答案 22 :(得分:-1)

所以我试图解决类似的问题,连接到我自己的局域网上完全不同的服务器,这样当电源中断然后恢复时我的服务器恢复在线状态,其他系统仍然可以与自动化连接。但是,我的问题是DHCP偶尔为我的服务器提供差异IP。这个线程用NAMESERVER回答了我的问题,Windows本身就有这个问题。我通过批处理文件直接连接到我的服务器IP add http://192.168.1.5来初始化连接,但是当出现电源问题时它就无法连接。我将.bat文件更改为指向http://DESKTOP-actualnamewhereserver:port并完成。问题解决了。如果我没有更改我的计算机名称,那么当DHCP将DESKTOP-actualnamewhere服务器更新为新IP地址时,它仍将在LAN上识别为自己的名称,因此无论其IP地址如何都能够接受连接。只需向无线局域网上的其他人提供托管Apache服务器的PC的名称,并告诉其名称为DESKTOP-DOUGHFACTORYHUT,他们将键入http://DOUGHFACTORYHUT:80或您的apache配置设置为托管的任何端口号,如LOCALHOST: 80基本上与您为服务器设置的DHCP或STATIC IP分配的本地动态IP地址相同。

答案 23 :(得分:-2)

我完全同意BugFinder。

简单来说,只需将ip地址 192.168.1.56 放在 192.168.1.2 上运行的浏览器中!

如果它不起作用,则有以下可能的原因:

  1. 网络连接问题:

    • 首先在192.168.1.2计算机上的命令提示符/终端中使用 ping 192.168.1.56 命令检查网络连接。
  2. 防火墙问题: 您的Windows防火墙设置没有XAMPP(apache)的允许规则。 (最可能的问题)

    • (溶液) 转到高级防火墙设置并添加Apache可执行文件的入站和出站规则。
  3. Apache配置问题。 : 您的apache配置为仅侦听本地请求。

    • (溶液) 你可以通过打开httpd.conf文件并替换它 收听127.0.0.1:80 听80 或*听:80
  4. 与其他服务器(IIS等)的端口冲突

    • (解决方案)关闭apache服务器,然后在浏览器中打开本地主机。如果获得任何响应,则关闭该服务器然后启动Apache。
  5. 如果以上所有方法都不起作用那么可能是你的apache server.try上有一些配置问题要找到它,否则只需重新安装它并将所有php文件(htdocs)传输到新安装的XAMPP / WAMP。