PHP 致命错误日志 - referer

PHP 致命错误日志 - referer

我有以下日志条目:

[Thu Oct 11 01:02:03 2012] [error] [client 127.0.0.1] PHP Fatal error:  Class 'Mage' not found in /var/www/foo/bar/Mage/Core/functions.php on line 244, referer: http://example.com/de/checkout/cart/

此消息中显示的 referer 真的是 HTTP referer 还是实际上是发生错误的 URL?

答案1

引荐来源 = HTTP_REFERER

错误日志中的 referer 条目实际上指的是引用脚本 (HTTP_REFERER) 的页面,而不是实际发生错误的脚本。

确认

我刚刚尝试创建一个foo.html带有超链接的文件foo.php

`foo.php 的内容

<?php

foobar();

我在 Apache 错误日志中看到的内容是:

PHP Fatal error:  Call to undefined function foobar() in /var/www/foo.php on line 3, referer: http://localhost/foo.html

如何找出导致错误的脚本

如果错误深嵌在 PHP 应用程序内部,则提到的 .php 文件名将与请求 URI 不一致。要找出导致错误的请求,我们可以查看access.log并尝试找到具有相同或相似时间和日期的条目(看起来甚至时间和日期也可能不同,具体取决于执行时间)

答案2

这意味着:

  • 有人浏览了该页面http://example.com/de/checkout/cart/
  • 服务器可能以 index.php 或类似文件进行响应
  • 进而调用/包含 /var/www/foo/bar/Mage/Core/functions.php
  • 它要求一个不存在的职业,叫做“法师”

相关内容