【问题标题】:CakePHP: Error: Database table cake_errors for model CakeError was not foundCakePHP:错误:找不到模型 CakeError 的数据库表 cake_errors
【发布时间】:2010-02-10 07:29:46
【问题描述】:

我有一个 CakePHP 错误,我很难追踪问题。希望您能够帮助我。 这是错误消息:

Missing Database Table
Error: Database table cake_errors for model CakeError was not found.
Notice: If you want to customize this error message, create app/views/errors/missing_table.ctp

我错过了什么吗?

提前致谢。

干杯, 标记

【问题讨论】:

  • 您从哪里以及如何调用 CakeError?
  • 导致此错误消息的控制器/操作是什么?

标签: cakephp


【解决方案1】:

如果没有亲眼看到代码,很难确切地说出为什么,但我对这些类型的错误使用的一个技巧是将“app/views/errors/missing_table.ctp”作为插入以下代码

<?php pr( Debugger::trace() ); ?>

这将有助于锻炼你所说的首先导致此问题的原因。

【讨论】:

  • 我的同事发现了问题。他只是在数据库中添加了一个 cake_error 表并且刚刚工作。问题解决了。谢谢你的建议:)
【解决方案2】:

我知道这个问题已经有 4 年历史了,但是由于我遇到了完全相同的问题并且没有找到可以解释错误来自哪里的信息,所以我自己进行了一些挖掘并想出了一些线索我将其包括在此处以防万一。

我的 AppController beforeFiler() 方法,除其他外,使用一个函数来检查控制器的模型是否具有枚举字段(我知道...我知道...)并“正确”处理它们。

当应用程序中的错误触发异常(没什么花哨的......“缺少控制器”会这样做)并且调试级别为 0 时,CakeErrorController 尝试呈现异常,但由于没有 cake_errors 表而失败,生成当 PHP 内存不足时结束的无限循环。

我通过改进对控制器主模型是否确实使用“真实”表的检测来解决此问题。

【讨论】:

    猜你喜欢
    • 2011-08-28
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多