Zend2 Framework模块无法初始化

时间:2013-11-20 14:45:33

标签: zend-framework2

我正在尝试安装Zend2 Framework模块以进行移动检测。模块称为移动检测。我按照该页面上的说明进行操作,因此我通过git shell从供应商目录中的第一个链接克隆了Mobile-Detect和整个项目。我在application.config.php文件中添加了“Neilime \ MobileDetect”,它显示了这个错误:

Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (Neilime\MobileDetect) could not be initialized.' in 
D:\xampp\htdocs\zend2test\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php:144 Stack trace: #0 
D:\xampp\htdocs\zend2test\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php(85): Zend\ModuleManager\ModuleManager->loadModule('Neilime\MobileD...') #1 
[internal function]: Zend\ModuleManager\ModuleManager->onLoadModules(Object(Zend\ModuleManager\ModuleEvent)) #2 
D:\xampp\htdocs\zend2test\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(464): call_user_func(Array, Object(Zend\ModuleManager\ModuleEvent)) #3 
D:\xampp\htdocs\zend2test\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(208): Zend\EventManager\EventManager->triggerListeners('loadModules', Object(Zend\ModuleManager\ModuleEvent), NULL) #4 
D:\xampp\htdocs\zend2test\vendor\zendframework\zendframework\libra in 
D:\xampp\htdocs\zend2test\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php on line 144

3 个答案:

答案 0 :(得分:1)

我建议使用文档中给出的composer安装方法。

如果你真的想坚持使用git clone,请尝试:

git clone git@github.com:neilime/zf2-mobile-detect.git Neilime/MobileDetect
而不是来自供应商文件夹的

,它应该将其克隆到正确的路径。

答案 1 :(得分:0)

错误表示找不到该模块。这可能是一个自动加载问题。

请参阅以下问题,了解如何添加正确的自动加载配置。 https://stackoverflow.com/a/14980942/902466

在你的情况下,它将类似于init_autoloader.php中的以下编辑:

Zend\Loader\AutoloaderFactory::factory(array(
    'Zend\Loader\StandardAutoloader' => array(
        'autoregister_zf' => true,
        'namespaces' => array(
            'Neilime\MobileDetect'   => __DIR__ . '/vendor/neilime/zf2-mobile-detect',
        ),
    ),
));

编辑:无意中使用Composer是最好的主意,因为它会为您创建自动加载配置。

答案 2 :(得分:0)

我有类似的问题。修复是一个案例问题:

确保您的** M ** odule.php文件以大写字母M写入,否则可能找不到该文件。这花了我一天的时间进行错误测试,所以我真的希望能为同样的人省下一些麻烦!