如何使用XAMPP在本地运行多个Laravel应用并让局域网其他设备访问
方案说明
完全可以通过创建多个虚拟主机实现多Laravel应用同时支持局域网访问的需求,该方案是XAMPP环境下的最优解,无需引入额外工具,性能稳定,也不需要每次手动启动php artisan serve服务。
具体配置步骤
方式1:不同域名区分应用(适合自用或局域网内可统一修改hosts的场景)
- 第一步:开启Apache虚拟主机支持
打开XAMPP控制面板,点击Apache行的「Config」按钮,选择httpd.conf,搜索以下两行配置,删除行首的#注释符后保存:LoadModule vhost_alias_module modules/mod_vhost_alias.so Include conf/extra/httpd-vhosts.conf - 第二步:配置多站点虚拟主机
从XAMPP控制面板打开conf/extra/httpd-vhosts.conf文件,每个Laravel应用对应一段配置,示例如下:
需将上述配置里的文件路径、ServerName替换为你实际的项目路径和自定义域名。# 第一个Laravel应用配置 <VirtualHost *:80> DocumentRoot "D:/www/laravel1/public" ServerName laravel1.test <Directory "D:/www/laravel1/public"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> </VirtualHost> # 第二个Laravel应用配置 <VirtualHost *:80> DocumentRoot "D:/www/laravel2/public" ServerName laravel2.test <Directory "D:/www/laravel2/public"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> </VirtualHost> - 第三步:修改hosts文件映射域名
用管理员权限打开C:\Windows\System32\drivers\etc\hosts文件,添加如下内容(将IP替换为你本机的局域网IP):
局域网内其他设备要访问对应应用,也需要在其设备的hosts文件中添加同样的映射规则。192.168.3.12 laravel1.test 192.168.3.12 laravel2.test
方式2:不同端口区分应用(适合不想修改其他设备hosts的场景)
第一步:开启端口监听
打开httpd.conf文件,在Listen 80配置行下方添加你要使用的端口监听规则,示例:Listen 8001 Listen 8002第二步:配置对应端口的虚拟主机
打开httpd-vhosts.conf文件添加如下配置:# 第一个Laravel应用,使用8001端口 <VirtualHost *:8001> DocumentRoot "D:/www/laravel1/public" <Directory "D:/www/laravel1/public"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> </VirtualHost> # 第二个Laravel应用,使用8002端口 <VirtualHost *:8002> DocumentRoot "D:/www/laravel2/public" <Directory "D:/www/laravel2/public"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> </VirtualHost>该方式下局域网其他设备直接访问
http://你本机局域网IP:对应端口即可访问应用,无需修改hosts。第三步:所有配置完成后,在XAMPP控制面板重启Apache服务即可生效。
注意事项
- 配置前请确认Windows防火墙已开放对应端口(80、8001、8002等)的入站规则,否则局域网其他设备无法访问
- 需给Laravel项目的
storage和bootstrap/cache目录授予Apache运行用户的读写权限,避免出现权限报错 - 本机局域网IP可通过在cmd中运行
ipconfig命令,查看IPv4地址获取(一般为192.168开头的地址段)
内容的提问来源于stack exchange,提问作者Abdou_dev
相关产品推荐
相关产品推荐

