2013-09-06 2 views
3

Я установил CakePHP 2.4.0 и, похоже, работает нормально, но когда запрос заканчивается, я получаю внутреннюю ошибку, которую AppModel был обновлен. Трассировка стека даже не включает какой-либо из моего кода, только код cakePHP. Это как-то связано с системой тестирования, которую я даже не использую. Ошибка появляется в совершенно новой установке и, по-видимому, фиксируется несколько раз на протяжении многих лет и по-разному, но это все еще происходит.CakePHP: не удается переопределить класс AppModel в models.php

Вот два разных отчета об этой проблеме, а также исправления, которые предположительно исправили ее. https://github.com/cakephp/cakephp/pull/617

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

Первое решение выше было уже реализовано в торт 2.4.0, но ошибка все равно появляется даже с этим исправлением на месте. Я попробовал второе решение, но ничего не изменил.

Кто-нибудь знает постоянное решение этой проблемы?

+1

2.4 все еще находится в бета-версии, не так ли? Вам понадобится последняя версия 2.3. * Stable, я думаю, 2.3.9 на данный момент. – Derek

+1

2.4.0 stable был выпущен 30 августа! :) Что касается начального вопроса, я обновил одно из моих приложений до 2.4.0, и он работает как шарм * после того, как я обновил некоторые плагины, такие как DebugKit *. Если вы используете плагины, даже для Cake 2.X, могут возникнуть проблемы с совместимостью. – Chris

+0

Вы когда-нибудь находили решение? У меня такая же проблема. –

ответ

0

Дважды проверьте свои модели, чтобы убедиться, что у вас есть следующее в верхней части модели, расширяющей AppModel.

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

Это означает, что верхняя часть модели должна выглядеть примерно так:

<?php 
App::uses('AppModel', 'Model'); 
class MyModel extends AppModel { 
Смежные вопросы