1

我的 apache 错误日志中出现了与此问题中描述的相同的错误。唯一的区别是我使用 $_SERVER ,如答案中所述。

第 8 行是:

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

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

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

谢谢你。

4

2 回答 2

3

手册暗示此索引可能并不总是设置 http://php.net/manual/en/reserved.variables.server.php

Host 的内容:当前请求的标头,如果有的话

于 2012-11-12T21:41:30.673 回答
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

感谢谷歌机器人!

于 2016-11-28T15:26:16.297 回答