我我的配置頁面上得到一個未定義的指標,它讀取: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