使用XAMPP托管多个本地站点

时间:2010-09-07 15:23:14

标签: php localhost xampp

我是使用XAMPP的新手,所以对某些人来说这可能很简单。

我有几个php项目,我希望能够在本地调试并在浏览器中查看(不是同时进行,但每次我想在不同的项目上工作时都不必更改配置文件/复制项目文件夹)

在IIS上,您可以设置多个站点来从您的计算机上提供服务,而我正在寻找XAMPP中类似的东西。使用IIS时,我在Windows主机文件中添加了多个记录,因此我可以通过键入友好的Web样式地址(如http://myproject1.dev)来访问本地托管的站点

感谢。

3 个答案:

答案 0 :(得分:44)

格雷格,你差不多了 - 你需要(就像摩西说的那样)来设置虚拟主机。

因此,如果您的Windows主机文件有

127.0.0.1    localhost
127.0.0.1    mysite-dev.com
127.0.0.1    anothersite-dev.com

您的虚拟主机文件(httpd-vhosts.conf)可能如下所示:

<VirtualHost *:80>
  DocumentRoot C:/xampp/htdocs/
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>

    ServerName mysite-dev.com

    DocumentRoot "C:/sites/mysite-dev"

    <Directory "C:/sites/mysite-dev">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

<VirtualHost *:80>

    ServerName anothersite-dev.com

    DocumentRoot "C:/sites/anothersite-dev"

    <Directory "C:/sites/anothersite-dev">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

进行任何更改后,请不要忘记重新启动Web服务器。

答案 1 :(得分:1)

我想补充一下最新信息。

XAMMP默认使用端口80,并且我们能够发布1个网站。我还将IIS用于.Net项目。在这方面,我将端口设置为XAMMP(80端口除外)。所以我避免了冲突。

当我们要发布多个网站时,应对httpd.conf(这是当前名称)执行以下操作。

1。设置端口

在httpd.conf文件中找到#Listen表达式。 将“收听80”更改为“收听8000”(或您想要的其他任何内容)

Listen 8001
Listen 8002
Listen 8003

如果您需要3个不同的网站,请键入其他网站,包括每行1个定义,如下所示。

<VirtualHost *:8000>
 DocumentRoot "C:\XAMPP\htdocs\8000"
 ServerName localhost:8000
<\ VirtualHost>
<VirtualHost *:8001>
 DocumentRoot "C:\XAMPP\htdocs\8001"
 ServerName localhost:8001
<\ VirtualHost>
<VirtualHost *:8002>
 DocumentRoot "C:\XAMPP\htdocs\8002"
 ServerName localhost:8002
<\ VirtualHost>
<VirtualHost *:8003>
 DocumentRoot "C:\XAMPP\htdocs\8003"
 ServerName localhost:8003
<\ VirtualHost>

2。定义通过端口访问的站点的文件路径

同样,在httpd.conf文件中找到。 如下标识每个网站的文件夹。 如您所见,我在XAMMP目录下的htdocs目录下创建了3个目录,分别为8000、8001、8002和8003。

{{1}}

在XAMMP上重新启动Apahche服务器。 现在,您可以查看第三个站点,例如http://localhost:8003http://192.168.1.1:8003/

希望有用。

答案 2 :(得分:0)

这个问题是在大约十年前提出的,上面的答案有些过时了。请注意,在安装XAMPP时,它会针对仪表板提供虚拟主机的“操作方法”。

从“欢迎使用Windows XAMPP”页面(localhost /仪表板,这是您首次加载localhost时的默认设置),单击顶部菜单栏中的“ HOW-TO”指南。在此处,找到“配置虚拟主机”链接,该链接将带您到本地主机页面“ http://localhost/dashboard/docs/configure-vhosts.html

简而言之,该过程涉及编辑“ httpd-vhosts.conf”文件(通常在C:\ XAMPP \ apache \ conf \ extra中),并用以下内容替换该文件的内容:

<VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs/"
        ServerName localhost
</VirtualHost>

# vhosts - note sample entry from XAMPP how-to throws an error, so try this:
<VirtualHost *:80>
        DocumentRoot "C:/Users/jdoe/Documents/dev.mysite.com/htdocs"
        ServerName mysite.local
        <Directory "C:/Users/jdoe/Documents/dev.mysite.com/htdocs">
            Require all granted
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
</VirtualHost>

通过克隆条目并修改DocumentRoot和ServerName指令和端口号(例如TLS(SSL)为443),可以拥有其他虚拟主机(包括SSL主机)。如果您想走这条路,可以在网上找到tutorials来创建和签名自己的证书。

最后一步是使Windows计算机将浏览器指向虚拟域的Apache主机(例如,上面的http://mysite.local)。使用文本编辑器(可以使用笔记本电脑)(作为管理员)将以下条目添加到您的hosts文件中,该文件位于此处:

C:\Windows\System32\drivers\etc\hosts

将此条目添加到主机文件:

127.0.0.1           mysite.local

重要-您必须重新启动Windows计算机,否则新主机将不会响应。一些文档会告诉您仅重新启动浏览器和Apache服务器,但是我发现这还不够。

IME,主机系统和Apache指令可能很特殊,因此请耐心等待。您可能需要重新构建配置,重新启动Apache,然后多次重新启动计算机。