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::getHttpHost
here的来源。
【讨论】:
以上是关于laravel如何知道request()->getHttpHost()的值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Request $request 从 url 获取 id? (Laravel 5.3)