错误。Cake =>中的CakePHP 2 MissingControllerException显示访问的网址

时间:2012-08-01 11:54:48

标签: cakephp exception-handling

是否可以创建/扩展CakePHP异常处理程序,该处理程序显示用户尝试访问的url会引发异常?

通常当我查看我的error.log文件时,我会看到类似这样的内容:

  

2012-08-01 13:39:20错误:[MissingControllerException]无法找到控制器类UserController。    #0 /www/htdocs/w0081e0e/app/webroot/index.php(104):Dispatcher-> dispatch(Object(CakeRequest),Object(CakeResponse))    #1 {main}

我有一个工作的UsersController,但我不确定用户试图访问哪个url作为回报抛出此错误。它会帮助我看到error.log文件中的url。那可能吗?我是否必须创建/扩展异常处理文件?


更新 我没有编写自己的ExceptionHandler,而是更新了“lib / Cake / Error / ErrorHandler.php”中的“handleException”函数:

if (!empty($config['log'])) {
        $message = sprintf("[%s] %s\n%s",
            get_class($exception),
            $exception->getMessage(),
            $exception->getTraceAsString().' - http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n"
        );
        CakeLog::write(LOG_ERR, $message);
    }

我知道一旦我更新CakePHP版本就会覆盖它,但它的快速修复对我的情况非常好。

1 个答案:

答案 0 :(得分:1)

您可以编写自己的异常处理程序。它在http://book.cakephp.org/2.0/en/development/exceptions.html#create-your-own-exception-handler-with-exception-handler

中有很好的记录

无论如何,网址似乎与http://something/user/something类似。错误说无法找到UserController,这是正确的,因为您只有UsersController(复数)。如果您只是想避免此错误,则可能足以找到创建/user/ URL的文件。