代码之家  ›  专栏  ›  技术社区  ›  Greg

使用XAMPP托管多个本地站点

  •  24
  • Greg  · 技术社区  · 14 年前

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

    在IIS上,您可以设置多个站点从您的机器上提供服务,我正在XAMPP中寻找类似的内容。在使用IIS时,我将多个记录添加到Windows hosts文件中,以便通过键入友好的web样式地址(如 http://myproject1.dev )

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  59
  •   jbnunn    14 年前

    格雷格,你就快到了——你需要(就像摩西说的)设置虚拟主机。

    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>
    

        2
  •  1
  •   Yildirim Erdemli    5 年前

    我想补充一下最新的信息。

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

    1设置端口

    找到“Listen”表达式httpd.conf文件文件。

    Listen 8000
    

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

    Listen 8001
    Listen 8002
    Listen 8003
    

    再次,在httpd.conf文件文件。 确定每个网站的文件夹如下。 正如您所看到的,我在XAMMP目录下的htdocs目录下创建了3个名为8000、8001、8002和8003的目录。

    <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>
    

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

    希望对大家有用。

        3
  •  0
  •   Bob Diego    4 年前

    在“欢迎使用XAMPP for Windows”页面(localhost/dashboard,第一次加载localhost时的默认值)中,单击顶部菜单栏中的“操作指南”。在那里,查找“配置虚拟主机”链接,它将引导您进入localhost页 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>
    

    tutorials

    http://mysite.local ). 使用文本编辑器(笔记本即可) 作为管理员 将以下条目附加到您的hosts文件中,该文件位于此处:

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

    将此项附加到主机文件:

    127.0.0.1           mysite.local
    

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