Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:$\u服务器变量:$\u服务器[';HTTP#u主机';]与$\u服务器[';服务器名称';]_Php - Fatal编程技术网

PHP:$\u服务器变量:$\u服务器[';HTTP#u主机';]与$\u服务器[';服务器名称';]

PHP:$\u服务器变量:$\u服务器[';HTTP#u主机';]与$\u服务器[';服务器名称';],php,Php,可能重复: $\u SERVER['HTTP\u HOST']和$\u SERVER['SERVER\u NAME']之间的区别是什么?HTTP\u HOST是客户端发送的主机:头。因此,它可能会有点不可信服务器\u名称由服务器的配置决定,与用户输入无关 行为上的差异是微妙的。以下是一些很好的例子: “SERVER_NAME”当前脚本正在其下执行的服务器主机的名称。如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值 来自当前请求的HOST:header的“HTTP_HOST”内容(如果有

可能重复:


$\u SERVER['HTTP\u HOST']
$\u SERVER['SERVER\u NAME']
之间的区别是什么?

HTTP\u HOST
是客户端发送的
主机:
头。因此,它可能会有点不可信<代码>服务器\u名称由服务器的配置决定,与用户输入无关

行为上的差异是微妙的。以下是一些很好的例子:

“SERVER_NAME”当前脚本正在其下执行的服务器主机的名称。如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值

来自当前请求的HOST:header的“HTTP_HOST”内容(如果有)


HTTP\u主机

主机的内容:来自当前请求的头(如果有)

服务器名称

当前脚本正在其下执行的服务器主机的名称。如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值


$\u SERVER['SERVER\u NAME']
提供主机配置中定义的服务器名称值(即对于Apache,Apache.conf文件)

$\u SERVER['HTTP\u HOST']
为您提供域名,当前请求通过该域名得到满足,并且与请求更直接相关


HTTP\u-HOST
通常在大多数应用程序中更有用,因为它直接与请求相关,而
SERVER\u-NAME
可以返回conf文件中的任何值,并且根本不告诉您有关请求的任何信息

我将给您举一个例子,说明
HTTP\u HOST
SERVER\u NAME
的区别。假设您在Apache中定义了一个主机,其服务器名为
domain.com
,IP地址为
1.2.3.4

让我们看看两个传入的请求URL,并显示这些变量之间的差异:

http://www.domain.com
HTTP_HOST = www.domain.com
SERVER_NAME = domain.com

http://1.2.3.4
HTTP_HOST = 1.2.3.4
SERVER_NAME = domain.com

同样,HTTP_主机与请求的联系更紧密,而服务器名称由服务器配置决定。

$_服务器['HTTP_主机']”提供当前请求的域名,并且与请求的关系更密切。“+1谢谢!!!!”!!!!感谢人们链接到官方文件,但对我来说太复杂了;)@迈克,这不仅仅取决于服务器的配置。你的结论是错误的<代码>服务器\u名称由服务器的配置和用户输入决定。HTTP\u主机与服务器\u名称之间微妙关系的一个很好的例子如下所示:是的,它与用户输入的相同
SERVER\u NAME
由服务器的配置决定,并且可以根据用户的输入进行设置。@Pacerier我认为准确地说,这是Apache的默认行为。源代码没有说除了Apache之外的任何东西。当然,输出是不一样的。。。。。。。。