0

我目前收到 Zend Framework 和 Doctrine 的以下错误消息。我试图弄清楚如何解决这个问题..

致命错误:/home/bellalun/library/Smallunch/lib/Bootstrap.php 中未捕获的异常 'LogicException' 和消息'传递的数组没有指定现有的静态方法(类'Doctrine' 没有方法'modelsAutoload')' :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->_executeResource('doctrine') #3 /etc/ZendFramework/1.9 .0/Zend/Application/Bootstrap/BootstrapAbstract.php(577): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL) #4 /etc/ZendFramework/1.9.0/Zend/Application.php(324):Zend_Application_Bootstrap_BootstrapAbstract->bootstrap() #5 /home/bellalun/application/bootstrap.php(14): Zend_Application->bootstrap() #6 /home/bellalun/public_html/dev.php(8): require('/home/ bellalun/...') #7 {main} 在第 173 行的 /home/bellalun/library/Smallunch/lib/Bootstrap.php 中抛出

这是第 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。不确定这是否相关..

4

1 回答 1

1

我不使用 Doctrine,但是您发布的代码示例没有多大意义。在第一行,您正在使用 ZF 自动加载器注册 Doctrine 的自动加载功能。这看起来不错,并且似乎与本教程相匹配。在下一行中,您正在使用 SPL 直接注册另一个自动加载器(这很糟糕),并使用另一个显然不存在的函数 (modelsAutoload) 来注册。由于这是出错的行,我猜想评论该行将解决您的问题。

于 2013-06-03T20:55:13.590 回答