Загадочная ошибка PHP при вызове Zend Framework и Doctrine

В настоящее время я получаю следующее сообщение об ошибке с Zend Framework и Doctrine. Пытаюсь понять, как решить эту проблему ..

Неустранимая ошибка: неперехваченное исключение 'LogicException' с сообщением 'Переданный массив не указывает существующий статический метод (класс' Doctrine 'не имеет метода' modelsAutoload ')' в /home/bellalun/library/Smallunch/lib/Bootstrap.php : 173 Трассировка стека: # 0 /home/bellalun/library/Smallunch/lib/Bootstrap.php(173): spl_autoload_register (Array) # 1 /etc/ZendFramework/1.9.0/Zend/Application/Bootstrap/BootstrapAbstract.php ( 660): Bootstrap -> _ initDoctrine () # 2 /etc/ZendFramework/1.9.0/Zend/Application/Bootstrap/BootstrapAbstract.php(613): Zend_Application_Bootstrap_BootstrapAbstract -> _Framework/DocumentResource # 3 / 0,0 / Zend / Применение / бутстрап / BootstrapAbstract.php (577): Zend_Application_Bootstrap_BootstrapAbstract -> _ самозагрузки (NULL) # 4 /etc/ZendFramework/1.9.0/Zend/Application.php(324): Zend_Application_Bootstrap_BootstrapAbstract-> самозагрузки () # 5 /home/bellalun/application/bootstrap.php(14): Zend_Application-> bootstrap () # 6 /home/bellalun/public_html/dev.php(8): require ('/ hom e / bellalun / ... ') # 7 {main} добавлен в /home/bellalun/library/Smallunch/lib/Bootstrap.php в строке 173

Вот что на линии 173

    $this->getApplication()->getAutoloader()
                       ->pushAutoloader(array('Doctrine', 'autoload'));
spl_autoload_register(array('Doctrine', 'modelsAutoload'));
$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE, true);

Моя хостинговая компания внесла некоторые изменения за выходные, которые вывели из строя несколько моих сайтов. Они переключили меня с Apache на LiteSpeed, а мой обработчик PHP - с DSO на SuPHP. Не уверен, связано это или нет ..


person Austin Biggs    schedule 03.06.2013    source источник


Ответы (1)


Я не использую Doctrine, но опубликованный вами образец кода не имеет большого смысла. В первой строке вы регистрируете функцию автозагрузки Doctrine с автозагрузчиком ZF. Это выглядит хорошо и кажется, что соответствовать этому руководству. В следующей строке вы регистрируете другой автозагрузчик напрямую с помощью SPL (это плохо) и делаете это с помощью другой, по-видимому, несуществующей функции (modelsAutoload). Поскольку это строка, в которой есть ошибка, я предполагаю, что комментарий этой строки решит вашу проблему.

person Tim Fountain    schedule 03.06.2013