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

我刚刚在家里建立了一个无线网络。我的所有文件都在我的台式计算机上(192.168.1.56) ,我想从另一台计算机访问本地主机(192.168.1.2)。

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

我要怎么做才能做到呢?网上有一些文档,但它们要么不起作用,要么过于支离破碎,难以理解。

我认为我必须修改 apache 的 httpd.conf 文件和 hosts 文件。你知道要做什么改变吗?

765294 次浏览

Localhost 只是环回法案的一个名称(如自称“我”)。

要从其他计算机上查看它,您可能只需要执行 http://192.168.1.56http://myPcsName即可,如果这样做不起作用,您的计算机上有可能运行防火墙,或者 httpd.conf 只监听127.0.0.1

谢谢你的详细解释。

只是为了详细说明,在 Windows 中,转到控制面板-> 防火墙,在例外情况下“添加 http 和端口80”。然后在服务检查标记“ http (网络服务器端口80)”和“ https (网络服务器端口443)”仅此而已,如果你需要 https 也工作。好了,好了,关门

然后到网络上的任何一台计算机上,在你的浏览器里输入 http://computer-name(在那里你改变了防火墙,并且 xampp 运行在上面) ,祝你愉快:)

有时候你的防火墙可能是问题所在。确保你已经禁用了防病毒防火墙监控。它对我很有效。

如果你连接到 Wi-Fi 网络,那就简单多了。只要找到连接到无线网络的 IP 地址。例如:

Your-ip 是“10.10.55.67”。

然后在您的机器上启动 xampp 服务器。

然后在其他连接到同一个 Wi-Fi 网络的电脑上,输入

http://your-ip

例句: http://10.10.55.67

这应该是所有您需要的基本设置

这种配置不会破坏本地主机上的 phpMyAdmin

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

此示例使用192.168.1. x 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>

从托盘图标重新启动所有服务 上网

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

  1. 获取服务器的内部 IP 或静态 IP (Ex: 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 文件,确保服务器指向 # List192.168.1.193:80
  7. 在应用程序根 config.php (db connect)中,用服务器的 IP 地址替换 localhost

注: 如果安装了防火墙,请确保将 http 端口80和8080添加到异常中并允许侦听。 转到控制面板 > Windows 防火墙 > 允许程序通过 Windows 防火墙进行通信 > 添加另一个程序 姓名: http 左舷: 80 添加一个 http-8080

如果 IIS (微软。NetApplicationInternetInformationServer)安装在任何 Microsoft 中。网络应用程序已经在服务器上,那么它将已经占据了80个端口。在这种情况下,将 # List192.168.1.193:80改为 # List192.168.1.193:8080

希望这个有用! :)

如果您正在使用 XAMPP 1.8.3 导航到文件 httpd-xampp.conf 并搜索 " # # 新的 XAMPP 安全概念 # Server-status | server-info)”>

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

"

删除这段代码并将其保存起来以备将来使用,例如恢复这个特性(记住删除这段代码会使你的计算机变得脆弱)。在 httpd-xampp 上保存更改。Conf,在 XAMPP 上重新启动服务,就是这样。

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

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

这个工具为我节省了很多,因为我在我的机器上没有管理员权限,并且已经安装了 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/

我完全同意 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或者 * 听 < em > : 80
  4. 与其他服务器的端口冲突(IIS 等)

    • (解决方案)关闭 apache 服务器,然后在浏览器中打开本地主机。如果获得任何响应,则关闭该服务器,然后启动 Apache。

如果以上所有都不工作,那么可能有一些配置问题在您的 apache server.try 找出否则只是重新安装它和传输所有的 php 文件(htdocs)到新安装的 XAMPP/WAMP。

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

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

以下是我在 视窗10所做的和为我工作的:

1)按 Windows + r键并键入 Cmd。在命令提示符下键入 < strong > ipconfig
2)找到你的 Ipv4地址和重命名你的网站网址到该 ip 例如: http://192.168.0.2/example
3)现在确保你的 防火墙可以访问 Apache HTTP Server。搜寻视窗内的「 允许应用程序通过 Windows 防火墙」按一下,然后在视窗右上方按一下「 更改设置」 ,并确保 Apache HTTP Server 的左边有一个勾号,而私人或公开的则有一个勾号。希望能有帮助

现在你可以从局域网内的其他电脑访问该网站

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


replace to


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

转到任务栏中的 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 服务并检查它, 希望能成功。

首先进入 Windows 机器的网络和共享中心,按照以下步骤获取 IPv4地址。 Just See The Image Illustration

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

注意

  • 转动你的 Windows 防火墙(如果不起作用,那么它是可选的)

替换 xampp\apache\conf\extra\httpd-xampp.conf文件中的 Require LocalRequire all granted

因此,我试图解决一个类似的问题,连接到一个完全不同的服务器在我自己的局域网,使当电源中断,然后恢复,我的服务器恢复在线,其他系统仍然可以与自动化的连接。然而,我的问题是 DHCP 有时会给我的服务器一个差异的 IP。这个线程解决了我在使用 NameSERVER 时遇到的问题。我是直接连接到我的服务器 IP 添加 http://192.168.1.5通过一个批处理文件初始化连接,但当电源问题发生时,它不会连接。我改了。Bat 文件指向 http://DESKTOP-actualnamewhereserver:port并完成。问题解决了。如果我不改变我的计算机名称,那么当 DHCP 交给 DESKTOP 时——实际名称随处可见一个新的 IP 地址,它仍然会在局域网上标识为自己的名称,因此能够接受连接,而不管它的 IP 地址是什么。简单地告诉你无线局域网上的其他人你的电脑托管 Apache 服务器的名字,让他们说它的名字是 DESKTOP-DOUGHFACTORYHUT 他们会输入 http://DOUGHFACTORYHUT:80或者任何你的 Apache 配置设置为托管的端口号,比如 LOCALHOST: 80,这实际上是相同的东西附加到你的本地动态 IP 地址由 DHCP 或 STATIC IP 分配给服务器你已经设置了。

很简单

  1. 转到您的 XAMPP 控制面板
  2. 单击 Apache > config > Apache (httpd.conf)enter image description here
  3. 搜索 听着80并替换为 听着8080
  4. 然后使用 Ipconfig命令(cmd 控制台)检查本地 ip
  5. 搜索 ServerName localhost: 80并替换为 本地 IP: 8080(ex. 192.168.1.156:8080)
  6. 然后打开 Apache > config > Apache (httpd-xampp. conf)enter image description here
  7. 搜索

       <Directory "C:/xampp/phpMyAdmin">
    AllowOverride AuthConfig
    **Require local**   Replace with   **Require all granted**
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>```
    
    
    
  8. Go to xampp > config > click on service and port setting and change apache port 8080

  9. restart xampp
  10. then hit your IP:8080 (ex.192.168.1.156:8080) from another computer

我遇到了这个问题。我在一个虚拟机中使用 XAMPP,该虚拟机的网络设置为“ NAT”。我把它改成了“桥”然后问题就解决了。

从远程设备访问本地主机

先决条件 : 您的网站目前在 http://localhost:8081/上,使用的工具类似于 < a href = “ https://www.npmjs.com/package/live-server”rel = “ nofollow noReferrer”> 现场服务器

A)在 一样网络上发布

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

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

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

B)在 任何网络 (更容易)发布

  1. Opt 1 -可以使用 强大在 ngrok 的公共面向端口上提供端口转发

    下载 ngrok 并运行以下命令:

    $ ./ngrok http 8081
    

  2. Opt 2 -可以使用 < strong > localhost.run 创建 ssh 隧道,命令如下:

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


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

要将浏览器开发工具与已连接的设备连接起来,请按照 开始远程调试 Android 设备中的说明操作

  1. 在您的手机上,启用开发人员选项和 USB 调试
  2. 通过 USB 将手机插入电脑并设置协议(不是文件/媒体传输)
  3. 打开开发工具 > 更多工具 > 远程调试(如果 未检测到设备,请在这里尝试)

  4. 找到您的网站并单击检查,这将打开一个新的检查窗口


进一步阅读:

在网络上运行 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 地址下的连接。

主机在本地 IP,

打开 CMD: ipconfig

无线局域网适配器 Wi-Fi: IPv4地址... . . . . . . . . . . : xx.xxx.xx.xxx

试试看:

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

如果有人仍然觉得这很难,这个简单的方法对我很有效:

  1. 在你的主系统让我们说主机 PC..。 转到控制面板 > Windows Defender 防火墙 > 允许应用程序或功能通过 Windows Defender 防火墙 > 更改设置 > 查找“ Apache HTTP Server”> 选中两个复选框(私有和公共)。 参见截图

    • 在我的例子中有两个“ Apache HTTP Server”条目,所以我选中了两个条目的复选框。
  2. 通过同一网络连接的任何其他系统..。 打开浏览器 > type: 您的托管电脑的 IP 地址后跟您的项目名称在 URL 栏。示例: 192.168.72.111/Example.com/

希望能有帮助! 谢谢。

我注意到,Windows10家庭版不支持托管网站。

Windows 10专业版确实支持托管网站,所以一旦将 windows 机器的 ip 地址添加到 httpd.conf 文件后,可以在 cmd windows 中通过 ipconfig 找到本地托管 windows 机器的 ip 地址。

听着80

听192.168.0.197:80