我正在尝试安装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
答案 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写入,否则可能找不到该文件。这花了我一天的时间进行错误测试,所以我真的希望能为同样的人省下一些麻烦!