ZFTool问题:模块(ZFTool)无法初始化

时间:2014-02-19 10:28:38

标签: php zend-framework zend-framework2 fatal-error maintenance

ZFTool是Zend Framework应用程序的维护工具。 install有几种方法。{{3}}。我在PHAR文件中使用它。

$ mkdir -p /usr/lib/ZendFramework/zftool
$ cd /usr/lib/ZendFramework/zftool
$ wget http://packages.zendframework.com/zftool.phar
$ ln -s  /usr/lib/ZendFramework/zftool/zftool.phar /usr/bin/zf
$ chmod 755 /usr/bin/zf

当我在ZF应用程序之外执行该工具时,它可以正常工作。但是现在我在应用程序中尝试了这个并得到了这个错误:

root@devvm:/usr/lib/ZendFramework/test# cd /path/to/application/ root@devvm:/path/to/application# zf PHP Fatal error:  Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (ZFTool) could not be initialized.' in /path/to/application/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php:175 Stack trace:
#0 /path/to/application/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php(149): Zend\ModuleManager\ModuleManager->loadModuleByName(Object(Zend\ModuleManager\ModuleEvent))
#1 /path/to/application/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php(90): Zend\ModuleManager\ModuleManager->loadModule('ZFTool')
#2 [internal function]: Zend\ModuleManager\ModuleManager->onLoadModules(Object(Zend\ModuleManager\ModuleEvent))
#3 /path/to/application/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\ModuleManager\ModuleEvent))
#4 /path/to/application/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php( in /path/to/application/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php on line 175

为什么会这样?如何避免这种行为?

3 个答案:

答案 0 :(得分:3)

您似乎需要在项目中安装zftool。 user2900416暗示了这一点,但我认为使用这样的作曲家为每个项目安装zftool更为正确:

composer.phar require zendframework/zftool:dev-master

这为我解决了。这里有一个问题讨论:https://github.com/zendframework/ZFTool/issues/51

答案 1 :(得分:0)

检查module.php文件的大小写:

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

答案 2 :(得分:0)

我遇到了同样的问题。这就是我用2个步骤修复它的方法: (1)按照http://framework.zend.com/manual/2.1/en/modules/zendtool.introduction.html手动安装的建议下载ZFTool zipball。 (2)将zipball解压缩到应用程序的模块/目录下,目录名称为ZFTool /。

然后,模块(ZFTool)已经安装在您的应用程序中,可以通过调用进行初始化 " zftool.phar创建模块ModuleName" 要么 " zf.php创建模块ModuleName"其中zf.php在zipball中。

在每个应用程序中复制ZFTool模块看起来真的很愚蠢,但我花了好几天试图找到一个没有任何运气的更好的.n希望有人可以提出一个。