我我的配置页面上得到一个未定义的指标,它读取:SERVER_ADDR未定义指数
注意:未定义指数:SERVER_ADDR在INC /配置 .inc.php上线
关于如何解决这个问题的任何想法?我知道它的警告,但仍然希望得到它。我正在使用它来检查地址是否使用本地或远程配置设置。
我使用它在这方面:
if ($_SERVER['SERVER_ADDR'] == '127.0.0.1' || $_SERVER['SERVER_NAME'] == 'localhost') {
}
我我的配置页面上得到一个未定义的指标,它读取:SERVER_ADDR未定义指数
注意:未定义指数:SERVER_ADDR在INC /配置 .inc.php上线
关于如何解决这个问题的任何想法?我知道它的警告,但仍然希望得到它。我正在使用它来检查地址是否使用本地或远程配置设置。
我使用它在这方面:
if ($_SERVER['SERVER_ADDR'] == '127.0.0.1' || $_SERVER['SERVER_NAME'] == 'localhost') {
}
如果您还没有这样做,请确保您正在使用数组$ _SERVER获得SERVER_ADDR,价值访问SERVER_ADDR设置始终其中是这个数组的一个元素。
$_SERVER['SERVER_ADDR'];
如果这不起作用,这可能意味着您的服务器不提供该信息。
从PHP.net:
没有保证每个Web服务器将提供所有的信息;服务器可能会省略一些,或者提供这里没有列出的其他人。
希望有所帮助。
你试过getenv
?
getenv('SERVER_ADDR')
您似乎在IIS中寻找$_SERVER["SERVER_ADDR"]
这是没有在那里定义。
尝试$_SERVER['HTTP_HOST']
相反,它是只要你强迫HTTP 1.1
我相信$ HTTP_SERVER_VARS已被弃用;应该使用$ _SERVER。 – Marc 2009-01-21 14:33:25
接受的答案是正确的,但要注意的是在Windows IIS 7(及以上,据我所知),您必须使用:的
$_SERVER['LOCAL_ADDR']
代替
$_SERVER['SERVER_ADDR']
+1当你有`getenv()`时,`$ _SERVER`是一个坏主意。 – Xeoncross 2012-03-15 03:56:13
getenv('SERVER_ADDR')感谢它的工作 – 2017-08-27 01:38:58