laravel如何知道request()->getHttpHost()的值
How does laravel know the value of request()->getHttpHost()
如果我通过 SSH 连接到服务器 运行 在 tinker 命令行中使用 laravel 应用程序和 运行:
print_r(request()->getHttpHost());
这告诉我服务器的域名。但它怎么知道?这些信息存储在哪里。它查询什么来获取此信息。为什么不 return "localhost" 或类似的东西。
Laravel 会先看X_FORWARDED_HOST
HTTP header。如果此 header 不可用,它将查看 HOST
HTTP header.
如果这些 header 都不可用(即使用 command-line 时),它将查看 SERVER_NAME
配置变量。最后,如果服务器名称也不可用,它将 return SERVER_ADDR
配置变量的值。
您可以阅读 Request::getHttpHost
here 的来源。
如果我通过 SSH 连接到服务器 运行 在 tinker 命令行中使用 laravel 应用程序和 运行:
print_r(request()->getHttpHost());
这告诉我服务器的域名。但它怎么知道?这些信息存储在哪里。它查询什么来获取此信息。为什么不 return "localhost" 或类似的东西。
Laravel 会先看X_FORWARDED_HOST
HTTP header。如果此 header 不可用,它将查看 HOST
HTTP header.
如果这些 header 都不可用(即使用 command-line 时),它将查看 SERVER_NAME
配置变量。最后,如果服务器名称也不可用,它将 return SERVER_ADDR
配置变量的值。
您可以阅读 Request::getHttpHost
here 的来源。