所有
我使用以下命令检索服务器的域名。
$_SERVER['HTTP_HOST']
这似乎返回IP地址而不是像www.example.com这样的域名。我查看了PHPInfo,它还列出了HTTP_HOST的IP地址而不是域名。我需要更改什么才能显示域名而不是IP?
由于
答案 0 :(得分:6)
改为使用$_SERVER['SERVER_NAME']
。
或者,您可以查看可用的每个服务器变量,但将此脚本放在此服务器上的一个PHP页面中。
<?PHP
foreach($_SERVER as $key_name => $key_value) {
print $key_name . " = " . $key_value . "<br>";
}
?>
答案 1 :(得分:1)
$_SERVER['HTTP_HOST']
(如果客户端发出HTTP / 1.0请求,则可能未定义)包含客户端请求的主机名。
如果客户请求http://127.0.0.1/
,则其中包含127.0.0.1
;对于http://localhost/
,它将包含localhost
;对于http://127.0.0.1:81/
,它将包含127.0.0.1:81
。
答案 2 :(得分:1)
gethostbyaddr()
可以检索IP地址的主机名,但前提是DNS记录已正确设置
答案 3 :(得分:0)
有用的链接: http://php.net/manual/en/reserved.variables.server.php 使用$ _SERVER [“SERVER_NAME”]