如何将“127.0.0.1:8000 / localhost:8000”更改为我想要的网址。 (拉拉维尔)
Posted
技术标签:
【中文标题】如何将“127.0.0.1:8000 / localhost:8000”更改为我想要的网址。 (拉拉维尔)【英文标题】:How can I change "127.0.0.1:8000 / localhost:8000" to my desired url. (laravel) 【发布时间】:2019-04-11 01:44:36 【问题描述】:我正在使用 laravel,但我不知道如何自定义默认 url,即“127.0.0.1:8000”或“localhost:8000”到我想要的 url。
我的期望是当我做 php artisan serve
时将 127.0.0.1:8000 更改为 sample.dev我真的需要将我的项目移动到 htdocs 或 www 吗?
请帮忙...
【问题讨论】:
【参考方案1】:注意:这只是为了回答问题,向下滚动以查看我们将使用 .test
而不是 .dev
的其他方法,因此我们不会收到 SSL 错误。
将默认主机更改为您想要的主机
-
进入
artisan
所在的项目目录。
运行以下命令:
php artisan serve --host=some-domain.test --port=anyPort
确保主机存在于您的 etc/hosts
文件中。要向主机文件添加条目,请使用您喜欢的编辑器编辑 /etc/hosts/
,并将此行添加到您当前的 /etc/hosts/
文件中。
127.0.1.1 sample.dev
如果我更改我的 /etc/hosts
文件,它看起来像这样:
127.0.0.1 localhost
127.0.1.1 sample.dev // Added line.
// More custom hosts here.
如果您在端口 80 上运行该命令,则会引发错误。因为您很可能也使用 Apache 服务。要使命令正常工作,您必须:
A:使用sudo service apache2 stop
停止Apache 服务
Ubuntu(可能因发行版而异)。
B:使用不同的端口,因为它是用于开发目的,我
建议您坚持使用8080
或任何其他您不会使用的端口。
现在,在您决定要坚持使用端口8080
之后,上面的命令将更改为以下内容:
php artisan serve --host=sample.dev --port=8080
注意:以上步骤适用于您的情况,如果您运行以上这些命令,它将无法在现代浏览器中运行,并且会抛出 SSL Error
。因为从 Chrome 版本 63 开始,您不能在 没有 SSL 证书的情况下使用 .dev
域。有一些方法可以在本地环境中进行设置,但实际上并不是必需的,因为您无论如何都处于开发模式。
但是,有一个专门用于开发目的的域,称为.test
,所以请执行上述步骤,但将域更改为.test
,上面的命令将如下所示:
php artisan serve --host=sample.test --port=8080
这对于开发目的非常有用,因为您不需要为您创建的每个新项目添加VirtualHost
。
【讨论】:
谢谢先生。它完美地工作!但是请问先生,这个“php artisan serve --host=sample.dev --port=8080”有什么捷径吗? @Joshua 就是这么短,如果你不想全部输入,我建议你创建一个 bash 别名。 @Akar 如果回答了您的问题,请将此答案标记为“正确”:)--host
选项实际上改变了服务器将监听的地址,并且与浏览器中的地址没有直接关系。默认是在 localhost (127.0.0.1) 上监听,这意味着它不能从机器外部访问。使用--host=0.0.0.0
将监听本地机器的所有地址。如果您有多个路由到机器的 IP 地址,它可用于指定要监听的地址,例如--host=192.168.2.100
.【参考方案2】:
更改主机名
唯一需要的步骤是向系统的hosts
文件中添加一个条目:
127.0.0.1 sample.test
当您运行 php artisan serve
时,您的网站将从 http://sample.test:8000
1 可用。
移除端口
要从 url 中删除 :8000
,您需要监听 HTTP 的默认端口2:
php artisan serve --port=80
现在您的网站将在同一台机器上的浏览器中通过http://sample.test
访问。
1我将示例更改为.test
,这是一个保留***域(TLD)。 .dev
归 Google 所有,在使用 artisan
使用的内置 PHP 服务器进行开发时会导致 SSL 错误,因为 HSTS 已为整个 .dev
TLD 启用。
2这只有在你的机器上没有其他应用程序已经使用端口 80 时才有效,例如另一个网络服务器,如 Apache、nginx、IIS 等。
【讨论】:
您忘记了他必须设置一个虚拟主机条目以将其指向他的 Laravel 项目文件夹路径,该路径由 php artisan 提供。 @Ronaldphp artisan serve
不需要
是的,这就是我在你的回答中指出的:)缺少 php artisan serve 命令:)
这个问题只问了如何更改url,但我可以进一步澄清。以上是关于如何将“127.0.0.1:8000 / localhost:8000”更改为我想要的网址。 (拉拉维尔)的主要内容,如果未能解决你的问题,请参考以下文章