如何从虚拟机访问由 XAMPP 创建的虚拟主机?

Posted

技术标签:

【中文标题】如何从虚拟机访问由 XAMPP 创建的虚拟主机?【英文标题】:How to access a Virtual Host created by XAMPP from Virtual Machine? 【发布时间】:2012-09-05 23:46:16 【问题描述】:

我正在使用 XAMPP 在 Mac 上设置我的 Web 开发环境。为了测试不同的浏览器,我在我的 Mac 上安装了虚拟机(一个 WIN7 和一个 WIN8)。

我将默认的 XAMPP 页面保留为 localhost 作为默认值。并创建了一个名为 arthur.local 的虚拟主机,它指向我的站点文件夹来执行我的所有项目。

现在我可以使用 mac 上的浏览​​器访问我的项目,只需在 URL 中输入 arthur.local 就可以了。

但是,我无法从我创建的虚拟机访问此虚拟主机。我可以使用 IP 地址访问 localhost,但我不知道如何访问我的虚拟主机?我应该给浏览器什么?

这是我在 XAMPP 中虚拟主机的设置:

#Arthur's Host
<VirtualHost *:80>
    ServerName Arthur.local
    DocumentRoot "/Users/Arthur0902/Sites"
    <Directory "/Users/Arthur0902/Sites">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order Allow,Deny
        Allow From All
    </Directory>
    ErrorLog "logs/mysite.local-error_log"
</VirtualHost>

【问题讨论】:

【参考方案1】:

希望浏览到此虚拟主机的所有客户端都需要能够解析“arthur.local”。

两个答案:“DNS”和/或“/etc/hosts”。

在 Windows 上,“/etc/hosts”文件实际上是“c:\windows\system32\drivers\etc\hosts”

【讨论】:

谢谢@paulsm4。我想我的 hosts 文件中有一些内容:127.0.0.1 localhost 127.0.0.1 Arthur.local 但我不知道我应该改变什么或如何改变它......你能给我一些点击吗?【参考方案2】:

您无法与虚拟机交互以获取通用 URL。但为此,请查看 Adob​​e Browser Lab,它会为您提供更多帮助。

【讨论】:

【参考方案3】:

要解决此问题,您可以将以下行添加到客户端计算机(运行 Windows 7/8 的虚拟机)上的“主机”文件中

10.1.1.4         arthur.local

其中“10.1.1.4”是您的主机(运行 XAMPP 的 Mac)的实际 IP 地址。如果您不知道这一点,请从命令行运行“ifconfig”。


127.0.0.1 地址只是环回设备/本地主机的简写。

它可以在 Mac 上运行,因为它指向服务器所在的自身(Mac)。 它在 VM 中不起作用,因为它指向服务器所在的自身(VM)。

【讨论】:

以上是关于如何从虚拟机访问由 XAMPP 创建的虚拟主机?的主要内容,如果未能解决你的问题,请参考以下文章

访问 XAMPP/laravel 主页

vmware虚拟机不能访问外网,该如何设置

vmware虚拟机怎么创建虚拟机

在家时如何从客户端虚拟机访问我公司的网络

Win10 hyper-v manager导入虚拟机找不到虚拟机 可能没有权限访问

宿主如何访问虚拟机中的web服务器