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

PHP注意:未定义索引:第8行/var/../script.PHP中的HTTP_HOST,php,apache,global-variables,error-log,Php,Apache,Global Variables,Error Log,我在apache错误日志中遇到与中所述相同的错误。唯一的区别是,我使用的是回答中所述的$\u服务器 第8行是: if(strstr($_SERVER['HTTP_HOST'],'127.0.0.1')) 具有完全相同条件的第59行出现相同错误。这是一个有条件告诉网站,我们是否在沙箱与否。据我所知,除了堵塞apache错误日志之外,没有发生什么不好的事情 有人知道为什么会发生这种情况以及如何解决吗?PHP版本是5.3.10。服务器正在运行Ubuntu 12.04 谢谢。手册暗示此索引可能并不总是

我在apache错误日志中遇到与中所述相同的错误。唯一的区别是,我使用的是回答中所述的$\u服务器

第8行是:

if(strstr($_SERVER['HTTP_HOST'],'127.0.0.1'))
具有完全相同条件的第59行出现相同错误。这是一个有条件告诉网站,我们是否在沙箱与否。据我所知,除了堵塞apache错误日志之外,没有发生什么不好的事情

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


谢谢。

手册暗示此索引可能并不总是设置的

主机的内容:来自当前请求的头,(如果有)


本手册暗示,可能并不总是设置此索引

主机的内容:来自当前请求的头,(如果有)


FWIW,某些爬虫不发送
HTTP\u主机
info;谷歌机器人就是其中之一。请确保检查访问日志,爬网程序访问站点的条目将与错误日志中的时间戳一致,例如:

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

谢谢谷歌机器人

FWIW,某些爬虫不发送
HTTP\u主机
info;谷歌机器人就是其中之一。请确保检查访问日志,爬网程序访问站点的条目将与错误日志中的时间戳一致,例如:

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

谢谢谷歌机器人

如果您只是使用一个条件,那么使用strpos似乎更有意义,正如这里的文档所示,根据文档,HTTP_POST可能并不总是被设置的,它只是专门为命名的vhost设置的。如果您使用HTTP/1.0 sans-Host:header作为默认服务器访问localhost,那么它将不存在。显然,对于cron/cmdline调用也是如此。如果您只是使用一个条件,那么使用strpos似乎更有意义,正如这里的文档所建议的,根据文档,HTTP_POST可能并不总是被设置的,它只是专门为命名的vhost设置的。如果您使用HTTP/1.0 sans-Host:header作为默认服务器访问localhost,那么它将不存在。显然,对于cron/cmdline调用也是如此。