-1

今天早些时候,我们的一个网站开始输出一些 PHP 警告,这些警告只能通过 Firefox 看到,但奇怪的是,这些错误不会在 Chrome 或 Safari 中显示。

我查看了请求/响应标头,并在 Firefox 的响应标头中注意到了条目

    X-pad: avoid browser bug

这可能是两个浏览器之间差异的原因吗?据我所知,X-pad 是针对古代浏览器中存在的错误的一种解决方法。

下面是来自 Firefox 的错误截图。

错误信息

编辑。

找出错误的原因以及为什么 chrome 没有显示警告。我们网站上的许多页面都注入了一些代码,如此所述。该代码忽略了 safari 和 chrome ,但没​​有忽略 Firefox。因此出现差异。

至于修复,只需删除代码的任何实例。受影响的是 index.php/template.php/page.php 文件的实例。

4

1 回答 1

0

您获得的未初始化字符串是因为您的变量未设置在数组中。确保已设置。

 if (isset($somevar['var']))
 {
      // etc..
 }

您的session_start()代码不在 PHP 文件的顶部。Asession_start()应该在所有脚本执行之前被调用。

要通过 PHP 手动关闭显示错误,请放在顶部:

 ini_set("display_errors", 0);

将所有错误都error.log归档,而不是在 PHP 生产环境中显示错误。

X-Pad是来自 apache 的响应的 header appender。所以这不是发生错误的方式。X-Pad 与您的错误无关。

于 2013-08-14T12:20:48.333 回答