如何使用error.log跟踪CakePHP错误

时间:2013-07-24 09:43:33

标签: cakephp cakephp-2.2

我有一个生产环境正在工作,我想知道哪些错误或问题发生在我的测试环境中我无法重现。

对于它,我正在尝试使用位于error.log文件夹中的cakephp/app/tmp/,但我无法理解其中的一些错误,甚至无法知道它们在代码中的确切位置

例如:

  

2013-07-24 10:26:49错误:[MissingActionException]无法找到操作TablesController :: fancybox()。

     

#0 C:\ inetpub \ wwwroot \ lib \ Cake \ Routing \ Dispatcher.php(186):Controller-> invokeAction(Object(CakeRequest))

     

#1 C:\ inetpub \ wwwroot \ lib \ Cake \ Routing \ Dispatcher.php(161):Dispatcher-> _invoke(Object(TablesController),Object(CakeRequest),Object(CakeResponse))

     

#2 C:\ inetpub \ wwwroot \ app \ webroot \ index.php(92):Dispatcher-> dispatch(Object(CakeRequest),Object(CakeResponse))   #3 C:\ inetpub \ wwwroot \ index.php(42):require('C:\ inetpub \ wwwr ...')   #4 {main}

错误来自何处?我想在哪里调用fancybox()函数?在哪个文件和行?我无法用这些迹象来追踪它。

有没有办法正确阅读?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

  

错误来自哪里?

错误消息报告TablesController::fancybox() could not be found

这意味着要求提供/tables/fancybox/....形式的网址。

这很可能是由页面加载的js库生成的404请求。要识别这些错误 - 只需打开例如chrome的网络面板在开发人员工具中并重新加载页面。任何红色表示对返回错误的内容的请求 - 以及需要修复的内容。

发出请求的信息也将出现在apache访问/错误日志中 - 引用者是负责发出这些错误请求的发起者。