2013-06-03 3 views
0

현재 Zend Framework와 Doctrine에 다음과 같은 오류 메시지가 표시됩니다. 나는젠드 프레임 워크와 Doctrine을 암묵적으로 PHP 오류가 발생했습니다.

Fatal error: Uncaught exception 'LogicException' with message 'Passed array does not specify an existing static method (class 'Doctrine' does not have a method 'modelsAutoload')' in /home/bellalun/library/Smallunch/lib/Bootstrap.php:173 Stack trace: #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} thrown in /home/bellalun/library/Smallunch/lib/Bootstrap.php on line 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); 

줄에 있는거야 ..이 문제를 해결하는 방법을 알아 내려고 노력하고있어 , 그들을 내려. 그들은 아파치에서 LiteSpeed로, PHP 핸들러는 DSO에서 SuPHP로 바꾸었다. 이것이 관련이 있는지 없는지 확실하지 않습니다.

답변

1

저는 Doctrine을 사용하지 않지만 게시 한 코드 샘플은별로 의미가 없습니다. 첫 줄에는 Doctrine의 자동로드 기능을 ZF 자동 공급기에 등록합니다. 이것은 좋아 보인다, 그리고 match this tutorial 것 같습니다. 다음 줄에서는 다른 오토로더를 직접 SPL로 등록하고 (잘못된 것입니다.) 또 다른, 명백하게 존재하지 않는 함수 (modelsAutoload)를 사용하여 자동 로더를 등록합니다. 이 라인은 오류가 있다고 생각하기 때문에 라인을 주석 처리하면 문제가 해결 될 것입니다.