Laravel Sail 如何更改本地开发域

Posted

技术标签:

【中文标题】Laravel Sail 如何更改本地开发域【英文标题】:Laravel Sail how to change local dev domain 【发布时间】:2021-05-16 03:54:23 【问题描述】:

我最近决定尝试 Laravel Sail,而不是我通常使用 Vagrant/Homestead 的设置。一切似乎都布置得很漂亮而且很容易,但我似乎找不到在本地环境中更改域名的解决方法。

我尝试使用 APP_PORT=89 sail up 命令在端口 89 上为应用程序提供服务,该命令使用 localhost:89 可以正常工作,但是在启动之前尝试记住哪个端口是哪个项目似乎很麻烦。

我正在寻找一种方法来更改默认端口,这样我就不必在每次想要航行时指定要服务的端口。然后我可以为localhost:89 使用像laravel.test 这样的别名,这样我就不必再记住端口了,我只需输入项目名称即可。

我尝试更改 etc/hosts 文件,但发现它实际上对不同的端口没有帮助

我实际上是在尝试通过在浏览器上输入“laravel.test”来访问我的项目。

也欢迎任何其他建议来实现这一点。 谢谢

**更新** 在所有这些搜索之后,我实际上决定改变我的工作流程,一次只运行一个应用程序,所以现在我只使用 localhost,我的 CPU 和 RAM 喜欢它,所以如果你在这里从宅基地搬到 docker,问问你自己你真的需要同时运行所有这些应用程序。如果答案是肯定的研究,如果不只是使用本地主机,它没有任何问题

【问题讨论】:

【参考方案1】:

要更改 Sail 中默认的“laravel.test”和端口的本地名称,请将以下内容添加到您的 .env 文件中: APP_SERVICE="yourProject.local" APP_PORT=89 这将在您构建(或使用 sail build --no-cache 重建)您的 Sail 容器时生效。 为了能够在您的网络浏览器中输入“yourProject.local”并让它加载您的网页,请确保通过将 127.0.0.1 yourProject.local添加到您的主机来更新您的主机文件主机文件。此文件位于:

Windows 10 – “C:\Windows\System32\drivers\etc\hosts” Linux – “/etc/hosts” Mac OS X – “/private/etc/hosts”

您需要关闭所有浏览器实例并在更改主机文件后重新打开。有了这个,尝试输入带有和不带有端口号的别名,看看哪个有效。由于您已经通过 .env 设置了端口,因此您可能不需要将其包含在您的别名中。 如果这不起作用,请更改 .env APP_URL=http://yourProject.local:89

好的,另一个选项,在 /routes/web.php 我假设你有一个路由设置,它可以返回视图或调用控制器方法。你可以测试看看你是否可以拥有这个 'return redirect('http://yourProject.local:89');' 这可能需要对路由/控制器进行一些操作,但这可能值得研究。

【讨论】:

所以这解决了我更改默认端口的第一个问题,谢谢。现在我可以通过 localhost:89 访问环境,但是使用别名仍然不起作用。我本质上希望能够通过在我的浏览器中输入“yourProject.local”来访问 locahost:89。你知道怎么做吗? 感谢您更新您的答案,但这是我提到的我已经尝试过的方法。它替换了 localhost 的名称,但不幸的是,它仍然需要我记住并不完全理想的端口号。另一方面,我在 reddit 上找到了一篇关于此的帖子,它似乎比我想象的要复杂得多。 reddit.com/r/laravel/comments/kfk2yp/… 它对我不起作用。我使用 ubuntu 20.04。

以上是关于Laravel Sail 如何更改本地开发域的主要内容,如果未能解决你的问题,请参考以下文章

带有 Laravel Sail 和版本控制的 Laravel 8 开发项目

如何快速更改域用户所拥有的本地计算机的权限

Laravel Eloquent ORM 的本地作用域

Laravel URL 变为 localhost/index.php/login 。如何将其更改回本地主机/登录名?

如何开发本地测试发布 Laravel 扩展包?

Laravel - 如何在本地开发中使用 https 服务 laravel 项目