【问题标题】:Trace source file of an error_log php跟踪error_log php的源文件
【发布时间】:2014-11-20 20:26:27
【问题描述】:

我在开发东西时经常使用error_log来输出信息,这样我就可以看到数组的内容等等-我不确定这是否是一种好方法,但我是自学成才的,请原谅我!

无论如何,我一定忘记在某个地方将 error_log 注释掉,因为我不断收到“post_type=”的 error_log 消息,而在我的一生中,我无法追踪它,我已经搜索了“post_type=” ' 在我所有的文件中,并且还通过了我能找到的每个 error_log 并检查它是否已被注释掉,但无法追踪这个该死的东西......

所以我想知道是否有人知道我如何跟踪最后一条 error_logged 消息的来源,以便我可以找到发送它的文件。我尝试了 error_get_last() 但这并没有返回我认为的任何内容,因为它实际上不是正在记录的错误,而是我手动输出的消息...

如果失败了,我看到在 Dreamweaver 中有一种使用正则表达式进行搜索的方法,只是想知道是否有人知道我可以如何让它搜索不以'//'开头的 error_log

提前致谢:)

【问题讨论】:

  • 您使用的是自定义的syslog 还是其他?
  • 为了将来,在输出消息时始终至少使用:__FILE_(我通常添加:.__LINE__)。文件搜索:“windows”上的“agent ransack”是一款出色的免费“文件搜索”实用程序。
  • 好的小费瑞恩谢谢你
  • @robbmj 我不确定我没有设置任何东西,只是使用 php 的 error_log() 来做......
  • @robbmj 仔细研究了一下,我发现了 syslog 是什么,但没有使用它,它只是输出到 error_log 文件

标签: php error-log


【解决方案1】:

您可以将错误日志文件权限更改为无权限,因此只有“root”用户可以访问它。 然后在您的网站上导航,希望在某个时候您会触发该错误,并且由于 Apache 无权写入此文件,php 将触发一个错误,让您有机会知道它来自哪里。

另外,如果你愿意查看变量的内容,可以使用var_dump($myVar)

【讨论】:

  • 好吧听起来很有趣,所以把文件权限从644改成0,那么php会在哪里触发错误呢?还是网站不会加载但显示错误消息?
  • 好吧,我想我尝试了你的建议,但似乎没有得到任何明显的错误消息——似乎发生的只是错误日志文件中没有添加新消息——尽管正如我所说上面我不确定我应该在哪里寻找你说 php 应该触发的错误...
  • 您还必须配置 php 以显示错误。添加:error_reporting(E_ALL);到您的 index.php 文件(假设您使用的是应用程序的单个入口点)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多