当我尝试检索远程用户的主机名时,为什么会出现此错误?
Message: Undefined index: REMOTE_HOST
Run Code Online (Sandbox Code Playgroud)
阅读文档时,我发现需要在httpd.conf中启用它.但我不确定需要在httpd.conf中编辑什么.
mar*_*rio 17
这不是错误,而是一个通知.在所有情况下都没有定义REMOTE_HOST.REMOTE_ADDR是.如果需要,您需要重新配置您的网络服务器.HostnameLookups On这样做,但它会导致经济放缓.
替代方案:让PHP进行查找,以便在不需要时跳过它(速度):
$r = $_SERVER["REMOTE_HOST"] ?: gethostbyaddr($_SERVER["REMOTE_ADDR"]);
Run Code Online (Sandbox Code Playgroud)
小智 5
$r = $_SERVER["REMOTE_HOST"] ?: gethostbyaddr($_SERVER["REMOTE_ADDR"]); // Will still cause the error/notice message
Run Code Online (Sandbox Code Playgroud)
为了避免出现此消息,应使用:
$r = array_key_exists( 'REMOTE_HOST', $_SERVER) ? $_SERVER['REMOTE_HOST'] : gethostbyaddr($_SERVER["REMOTE_ADDR"]);
Run Code Online (Sandbox Code Playgroud)