如何使用 xampp 在本地运行多个 laravel 应用程序并使它们可供我本地网络上的其他 PC 访问

Posted

技术标签:

【中文标题】如何使用 xampp 在本地运行多个 laravel 应用程序并使它们可供我本地网络上的其他 PC 访问【英文标题】:How to run mulitple laravel apps locally using xampp and make them accessible to other PCs on my local network 【发布时间】:2021-12-09 20:05:53 【问题描述】:

您好,我在 windows 上,我正在使用 xampp 和 Laravel

我有多个 laravel 应用程序,我想同时运行它们并让我本地网络上的其他 PC 可以访问它们。

有可能吗?如果是,如何?

如果可能的话,我还希望在没有 php artisan serve 命令的情况下运行这些应用程序。

我使用 xampp 的 httpd-vhosts.conf 为一个应用程序执行此操作,但不知道如何为多个应用程序执行此操作。 所以我所做的是我创建了一个虚拟主机,使一个应用程序可以通过浏览器使用 IP 地址直接从另一台 PC 访问,那么有没有办法同时创建多个这样的虚拟主机?还是有更好的方法?

谢谢。

【问题讨论】:

【参考方案1】:

转到 xampp\apache\conf\extra 并打开 httpd-vhosts.conf 文件。

<VirtualHost *:80>
    DocumentRoot "/Users/laravel2/public"
    ServerName laravel2.dev
    <Directory "/Users/laravel2/public">
            AllowOverride All
            Options FollowSymLinks +Indexes
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Users/laravel1/public"
    ServerName laravel1.dev
    <Directory "/Users/laravel1/public">
            AllowOverride All
            Options FollowSymLinks +Indexes
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

Go => C:\Windows\System32\drivers\etc

127.0.0.1  localhost laravel1.dev
127.0.0.1  localhost laravel2.dev

重启你的 apache。它对我有用。

【讨论】:

DocumentRoot "/Users/laravel2/public" 你的 htdoc 应该是这个路径。 它在 Windows 10 上对我不起作用!!顺便说一句,从同一本地网络上的其他 PC 访问这些应用程序怎么样? 你能把图片放在一边吗? httpd-vhosts.conf 文件和 hosts 文件。【参考方案2】:

在这种情况下,我建议您使用Laragon 而不是xampp。

Laragon 的一些功能:

易于使用。 使用 app.test 代替 localhost/app,无需为此进行额外配置。 无需运行 php artisan serve 命令即可运行 laravel 项目 只需点击几下,您就可以通过 Internet 与任何人分享您的本地项目 您可以毫无顾虑地移动 Laragon 文件夹(移动到其他磁盘、移动到另一台笔记本电脑、同步到云……)。

不管怎样,我一直在使用Laragon。

【讨论】:

以上是关于如何使用 xampp 在本地运行多个 laravel 应用程序并使它们可供我本地网络上的其他 PC 访问的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地利用XAMPP测试运行PHP源码网站?

网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

Xampp 上的多个子域

如何在 xampp 中运行两个本地 Web 开发项目

让 Laravel 5 使用 xampp for OSX

XAMPP 服务器使用多个端口而不是端口 80