2011-12-13 85 views
0

我們正在運行suse11 apache2.2服務器。 當我們試圖讓我們REMOTE_HOST得到如下圖所示Remote_Host索引未顯示

REMOTE_HOST : Notice: Undefined index: REMOTE_HOST in /media/nss/VOL1/htdocs/serverVars.php on line 44 

HTTP_REFERER : Notice: Undefined index: HTTP_REFERER in /media/nss/VOL1/htdocs/serverVars.php on line 45 

REMOTE_USER : Notice: Undefined index: REMOTE_USER in /media/nss/VOL1/htdocs/serverVars.php on line 46 

錯誤「未找到索引」這是我們正在使用,以解決什麼問題的一個樣本。

<?php 
    print " BCIS serverVars.php " . "<br />"; 
    print "DOCUMENT_ROOT : "; print $_SERVER['DOCUMENT_ROOT'] . "<br />"; 
    print "SERVER_NAME : "; print $_SERVER['SERVER_NAME'] . "<br />"; 
    print "HTTP_HOST  : "; print $_SERVER['HTTP_HOST'] . "<br />"; 
    print "HTTP_COOKIE  : "; print $_SERVER['HTTP_COOKIE'] . "<br />"; 

    print "----------------------------------------- <br />"; 

    print "REMOTE_HOST : "; print $_SERVER['REMOTE_HOST'] . "<br />"; 
    print "HTTP_REFERER : "; print $_SERVER['HTTP_REFERER'] . "<br />"; 
    print "REMOTE_USER : "; print $_SERVER['REMOTE_USER'] . "<br />"; 
    print "PATH_INFO  : "; print $_SERVER['PATH_INFO'] . "<br />"; 
?> 

有人能指引我們走上正確的道路嗎?

謝謝。

回答

0

參見$_SERVER["REMOTE_HOST"]手冊:

注:您的Web服務器必須配置爲建立此變量。例如在Apache中,你需要在httpd.conf中存在HostnameLookups On。另見gethostbyaddr()

請注意,車削HostnameLookups On可能會降低性能,因爲DNS查找可能會造成資源昂貴。詳情請參閱the Apache documentation on HostnameLookups

+0

我在httpd.conf中放置了「HostNameLookups On」,並且當它沒有解決問題時,我將它放在我的vhost配置文件中。仍然沒有工作。當我第一次打開httpd.conf文件時,「HostnameLookups」不存在。所以我將它添加到文件的底部。這是正確的地方嗎?我需要啓用更多功能嗎? – David 2011-12-13 21:57:37

0

根據php.net

「你的Web服務器必須配置爲建立此變量例如在Apache中,你需要HostnameLookups在在httpd.conf中存在。」