我在配置页面上获得了一个未定义的索引,它显示为:
注意:未定义的索引: inc / config中的SERVER_ADDR .inc.php 在 3
行
关于如何解决这个问题的任何想法?我知道它的警告,但仍然希望得到它。我用它来检查地址是否使用我的本地或远程配置设置。
我在这种情况下使用它:
if ($_SERVER['SERVER_ADDR'] == '127.0.0.1' || $_SERVER['SERVER_NAME'] == 'localhost') {
}
答案 0 :(得分:3)
您是否尝试过getenv
?
getenv('SERVER_ADDR')
答案 1 :(得分:3)
接受的答案是正确的,但请注意,在Windows IIS 7(及以上,据我所知),您必须使用:
$_SERVER['LOCAL_ADDR']
而不是
$_SERVER['SERVER_ADDR']
答案 2 :(得分:2)
如果您还没有这样做,请确保使用$ _SERVER数组访问SERVER_ADDR以获取SERVER_ADDR的值,该值是此数组的元素。
$_SERVER['SERVER_ADDR'];
如果这不起作用,则可能意味着您的服务器不提供该信息。
来自PHP.net:
无法保证每个Web服务器都能提供这些服务;服务器可能会省略某些服务器,或提供此处未列出的其他服务器。
希望有所帮助。
答案 3 :(得分:0)
您似乎在IIS中寻找$_SERVER["SERVER_ADDR"]
未定义的地方。
请尝试使用$_SERVER['HTTP_HOST']
,只要您强制HTTP 1.1