【问题标题】:CakePHP: Cannot redeclare class AppModel in models.phpCakePHP:无法在 models.php 中重新声明类 AppModel
【发布时间】:2013-09-06 20:37:19
【问题描述】:

我安装了 CakePHP 2.4.0,它似乎工作正常,但是当请求完成时,我收到一个 AppModel 已被重新声明的内部错误。堆栈跟踪甚至不包括我的任何代码,只有 cakePHP 代码。这与我什至没有使用的测试系统有关。该错误出现在全新的安装中,并且多年来显然已通过多种不同方式修复了很多次,但它仍然会发生。

这里有两个关于此问题的不同报告,以及据称已解决该问题的修复程序。 https://github.com/cakephp/cakephp/pull/617

https://github.com/Phally/lazy_model/issues/5

上面的第一个解决方案已经在 cake 2.4.0 中实现,但即使修复到位,错误仍然会出现。我尝试了第二种解决方案,但它没有改变任何东西。

有人知道这个问题的永久解决方案吗?

【问题讨论】:

  • 2.4 仍处于测试阶段,不是吗?你会想要最新的 2.3.* 稳定版本,我认为目前是 2.3.9。
  • 2.4.0 稳定版已于 8 月 30 日发布! :) 至于最初的问题,我已经将我的一个应用程序升级到了 2.4.0,它就像一个魅力在我升级了一些像 DebugKit 这样的插件之后。如果您使用插件,即使是 Cake 2.X,也可能存在一些兼容性问题。
  • 您找到解决方案了吗?我遇到了同样的问题。

标签: php cakephp


【解决方案1】:

仔细检查您的模型,确保您在扩展 AppModel 的模型顶部有以下内容。

App::uses('AppModel', 'Model');

这意味着您的模型顶部应如下所示:

<?php
App::uses('AppModel', 'Model');
class MyModel extends AppModel {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 2013-08-07
    • 2011-03-22
    • 2023-03-29
    • 2016-02-24
    相关资源
    最近更新 更多