我刚开始使用 ZF2 ,遇到问题需要在本地设置我需要处理的第一个项目。我已经完成并在本地设置了应用程序,但是当我尝试访问主页时,我收到以下异常错误:
致命错误:未捕获的异常 'Zend \ ModuleManager \ Exception \ RuntimeException',带有消息'Module (申请)无法初始化。在 /var/www/myproject/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php 在第140行
Zend \ ModuleManager \ Exception \ RuntimeException:Module(Application) 无法初始化。在 /var/www/myproject/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php 在第140行
还有一些输出从调用堆栈跟踪中回显..不确定它是否有助于解决此问题:
Account_Register_Model_Mysql4_CompanyDetails
具有完整堆栈跟踪和错误的图像:
关于此主题,已经发布了一个非常类似的问题:Zend Framework 2 tutorial: Module (Application) could not be initialized。
通过该帖子阅读我遵循建议的答案建议,即在getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); $this->initDatabase($e); } public function initDatabase($e) { Feature\GlobalAdapterFeature::setStaticAdapter($e->getApplication()->getServiceManager()->get('Zend\Db\Adapter\Adapter')); } public function getConfig() { return include __DIR__ . '/config/module.config.php'; } public function getServiceConfig() { return array( 'factories' => array( 'dbadapter' => new Zfe\Factory('db'), ), ); } public function getAutoloaderConfig() { return array( 'Zend\Loader\StandardAutoloader' => array( 'namespaces' => array( __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, ), ), ); } }
内设置 module_paths 的绝对路径,但这不会影响我的问题。
application.config.php
摘录:
application.config.php
'module_paths' => array(
__DIR__.'/../module',
'./vendor',
),
任何关于我可以从哪里开始调试的见解都将非常感激!
答案 0 :(得分:1)
根据我的评论,错误表明ZF无法找到模块类。在这种情况下,这是因为正在使用短开放标记(<?
而不是<?php
)。输出的PHP代码通常是一个很好的指标。