【问题标题】:Trouble with ZFTool: Module (ZFTool) could not be initializedZFTool 出现问题:无法初始化模块 (ZFTool)
【发布时间】:2014-02-19 10:28:38
【问题描述】:

ZFTool 是 Zend Framework 应用程序的维护工具。有几种方法可以install 它。我从 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

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

【问题讨论】:

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


    【解决方案1】:

    看来您需要将 zftool 安装到您的项目中。 user2900416 暗示了这一点,但我认为使用 composer 为每个项目安装 zftool 更正确:

    composer.phar require zendframework/zftool:dev-master
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        然后,Module(ZFTool) 已经安装在您的应用程序中,并且可以通过调用任一方法来初始化 “zftool.phar 创建模块 ModuleName” 或者 “zf.php 创建模块 ModuleName”,其中 zf.php 在 zipball 中。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-03
          • 2012-11-08
          • 2019-07-21
          • 2016-03-11
          相关资源
          最近更新 更多