laravel如何知道request()->getHttpHost()的值

Posted

技术标签:

【中文标题】laravel如何知道request()->getHttpHost()的值【英文标题】:How does laravel know the value of request()->getHttpHost() 【发布时间】:2021-12-19 02:07:15 【问题描述】:

如果我通过 SSH 连接到运行 laravel 应用程序的服务器并在 tinker 命令行中运行:

print_r(request()->getHttpHost());

这告诉我服务器的域名。但它怎么知道?这些信息存储在哪里。它查询什么来获取此信息。为什么它不返回“localhost”或类似的东西。

【问题讨论】:

【参考方案1】:

Laravel 将首先查看 X_FORWARDED_HOST HTTP 标头。如果此标头不可用,它将查看HOST HTTP 标头。

如果这些标头都不可用(即使用命令行时),它将查看SERVER_NAME 配置变量。最后,如果服务器名称也不可用,它将返回 SERVER_ADDR 配置变量的值。

您可以阅读Request::getHttpHosthere的来源。

【讨论】:

以上是关于laravel如何知道request()->getHttpHost()的值的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 护照和 Vue 登录

如何使用 Request $request 从 url 获取 id? (Laravel 5.3)

扩展Laravel包

session::flash 和 request->session->flash 的 laravel 区别

如何使用laravel 7在db中传递数组

如何使用 laravel 将附件文件发送到电子邮件