我们今天早些时候的一个网站开始输出一些只能通过Firefox看到的PHP警告,但奇怪的是这些错误不会在Chrome或Safari中显示。
我查看了请求/响应标头,并在Firefox的响应标头中注意到条目
X-pad: avoid browser bug
这可能是两个浏览器之间存在差异的原因吗?根据我的发现,X-pad可以解决古老浏览器中存在的错误。
以下是Firefox错误的屏幕截图。
编辑。
找出错误的原因以及为什么chrome没有显示警告。我们网站上的许多页面都注入了一些代码,如文档here所示。代码忽略了safari和chrome,但不是Firefox。因此存在差异。
至于修复,只需删除代码的任何实例。受影响的是index.php / template.php / page.php文件的实例。
答案 0 :(得分:0)
您获得未初始化的字符串,因为您的变量未在数组中设置。确保已设置。
if (isset($somevar['var']))
{
// etc..
}
您的session_start()
代码不在PHP文件的TOP中。在执行所有脚本之前,应调用session_start()
。
要通过PHP手动关闭显示错误:
ini_set("display_errors", 0);
将所有错误放到error.log
文件中,而不是在PHP生产环境中显示错误。
X-Pad是来自apache的响应的标头appender。所以这不是错误发生的方式。 X-Pad与您的错误无关。