PHP注意:未定义的索引:第8行的/var/.../script.php中的HTTP_HOST

时间:2012-11-12 21:35:30

标签: php apache global-variables error-log

我在apache错误日志中遇到了同样的错误,如this question中所述。唯一的区别是我正在使用$ _SERVER,如答案所述。

第8行是:

if(strstr($_SERVER['HTTP_HOST'],'127.0.0.1'))

对于具有完全相同条件的第59行,出现相同的错误。告诉网站我们是否在使用沙盒是有条件的。据我所知,除了堵塞apache错误日志外,没有发生任何不好的事情。

有谁知道为什么会发生这种情况以及如何解决这个问题? PHP版本是5.3.10。服务器正在运行Ubuntu 12.04。

谢谢。

2 个答案:

答案 0 :(得分:3)

手册暗示可能无法始终设置此索引 http://php.net/manual/en/reserved.variables.server.php

  

当前请求的主机:标头的内容,如果有

答案 1 :(得分:2)

FWIW,某些抓取工具无法发送HTTP_HOST个信息; Googlebot是其中之一。请务必检查您的访问日志,爬网程序访问该站点的条目将与错误日志中的时间戳一致,例如:

8.8.8.8 - - [28/Nov/2016:15:24:23 +0000] "GET / HTTP/1.0" 200 
            20463 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
            +http://www.google.com/bot.html)"

相应的错误日志条目:

[Mon Nov 28 15:24:23.579216 2016] [:error] [pid 28226]
        [client 8.8.8.8:20463] PHP Notice:  Undefined index: HTTP_HOST 
        in /var/www/public_html/site/script.php on line 5

感谢Googlebot!