在此链接上: how can i access my laravel app from another pc?
它完美地描述了如何从同一网络上的另一台电脑访问laravel应用程序。 现在,我的问题是:
如何访问同一台电脑上的另一个应用程序?
我有一个虚拟机,为两个应用程序 app.dev 和 demo.dev 提供服务 两者都可以通过互联网浏览器在虚拟机内部访问
app.dev 可通过 http://localhost 访问和 http://app.dev demo.dev 只能在 http://demo.dev 上访问
外部虚拟机只能通过 IP 地址 192.168.0.60 访问 app.dev
我在虚拟机中使用了这个命令
sudo php artisan serve --host 192.168.0.60 --port 80
我应该再次使用
sudo php artisan serve ????
但是怎么办呢?有人帮忙吗?
最佳答案
Laravel 的 artisanserve
命令使用 PHP Built-in web server 。因为这不是一个功能齐全的 Web 服务器,它没有虚拟主机的概念,因此它只能运行映射到 IP 和端口对的服务器的一个实例。
通常,要从同一 IP 地址为两个主机提供服务,您需要在虚拟机的 /etc/hosts
文件中添加以下映射:
192.168.0.60 app.dev
192.168.0.60 demo.dev
现在您可以通过运行以下命令来运行app.dev
:
php artisan serve --host app.dev --port 80
并且可以使用 http://app.dev 在您的主机上使用它。但是,如果您尝试使用以下命令为 demo.dev
启动第二个服务器实例:
php artisan serve --host demo.dev --port 80
它不起作用并且会提示:
Address already in use
您可以通过为您的 demo.dev
应用程序使用不同的端口来解决这个问题,例如:
php artisan serve --host demo.dev --port 8080
现在您可以访问 http://demo.dev:8080用于主机上的第二个应用程序。
<小时/>话虽这么说,我建议您安装一个功能齐全的 Web 服务器,例如 Apache 或 nginx,然后为每个应用程序设置一个虚拟主机(只需确保保留 /etc/hosts
我在上面展示的文件)。
对于这两种服务器解决方案来说,设置虚拟主机都非常容易。以下是 Laravel Recipes 网站上两篇文章的链接,展示了如何专门针对 Laravel 执行此操作:
关于php - 我如何从另一台电脑访问第二个 laravel 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36664575/