SERVER_ADDR未定义索引

时间:2009-01-21 14:26:10

标签: php

我在配置页面上获得了一个未定义的索引,它显示为:

  

注意:未定义的索引: inc / config中的SERVER_ADDR   .inc.php 3

关于如何解决这个问题的任何想法?我知道它的警告,但仍然希望得到它。我用它来检查地址是否使用我的本地或远程配置设置。

我在这种情况下使用它:

if ($_SERVER['SERVER_ADDR'] == '127.0.0.1' || $_SERVER['SERVER_NAME'] == 'localhost') {        

}

4 个答案:

答案 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

,就会设置它