You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于端口的多XAMPP本地站点PHP自动配置方案问询

XAMPP多站点自动配置需求

原域名区分的多站点配置方式

随着本地站点数量增加,原基于域名的配置方式逐渐杂乱,具体步骤如下:

  • 创建站点目录:
    /.../www/site4
    
  • 修改HOSTS文件:
    127.0.0.1   localhost-site1
    127.0.0.1   localhost-site2
    127.0.0.1   localhost-site3
    127.0.0.1   localhost-site4
    
  • 编辑httpd.conf配置文件:
    Listen 80
    <VirtualHost *:80>
        DocumentRoot "C:/.../www/localhost-site4"
        ServerName localhost-site4
        ServerAlias localhost-site4
        ServerAdmin root@example.com
    </VirtualHost>
    
  • 站点索引页(PHP实现):
    <ul>
    <?php 
    $dirs = array_filter(glob('*'), 'is_dir');
    foreach ($dirs as $key => $value) {
        echo "<li><a href='http://localhost-".$value."/'>".$value."</a></li><br/>";
    }
    ?>
    </ul>
    

改用端口区分后的配置痛点

为简化HOSTS配置并支持局域网内其他设备访问,计划改用端口区分站点,此时HOSTS文件仅需保留:

127.0.0.1    localhost

但httpd.conf需要逐个手动配置监听端口与虚拟主机,站点越多配置越繁琐:

Listen 80
Listen 8001
Listen 8002
Listen 8003
<VirtualHost *:8001>
    DocumentRoot "C:/.../www/localhost-site1"
    ServerName localhost:8001
</VirtualHost>
<VirtualHost *:8002>
    DocumentRoot "C:/.../www/localhost-site2"
    ServerName localhost:8002
</VirtualHost>
<VirtualHost *:8003>
    DocumentRoot "C:/.../www/localhost-site3"
    ServerName localhost:8003
</VirtualHost>

期望实现的自动配置方案

能否通过PHP脚本,基于/www目录下的文件夹命名规则(例如文件夹名为site1-8001,其中8001为端口号),自动完成以下操作:

  • 自动在httpd.conf中添加对应端口的Listen配置
  • 自动生成站点访问链接(如http://site1:8001/)
  • 自动在httpd.conf中添加对应的VirtualHost配置

内容的提问来源于stack exchange,提问作者Jammo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:50:21