2011-12-13 87 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中存在。”