1

在我的应用程序中安装 ZfcBase 和 ZfcUser 后,我收到错误消息:

'Module (ZfcUser) could not be initialized.' in Zend/ModuleManager/ModuleManager.php on line 140

我以完全相同的方式和位置安装了 ZfcBase 和 ZfcUser,并且 ZfcBase 正确加载。

ModuleManager.php 中的相关代码为:

/**
     * Load a specific module by name.
     *
     * @param    string $moduleName
     * @throws   Exception\RuntimeException
     * @triggers loadModule.resolve
     * @triggers loadModule
     * @return   mixed Module's Module class
     */
    public function loadModule($moduleName)
    {
        if (isset($this->loadedModules[$moduleName])) {
            return $this->loadedModules[$moduleName];
        }

        $event = ($this->loadFinished === false) ? clone $this->getEvent() : $this->getEvent();
        $event->setModuleName($moduleName);

        $this->loadFinished = false;

        $result = $this->getEventManager()->trigger(ModuleEvent::EVENT_LOAD_MODULE_RESOLVE, $this, $event, function ($r) {
            return (is_object($r));
        });

        $module = $result->last();

        if (!is_object($module)) {
            throw new Exception\RuntimeException(sprintf(
                'Module (%s) could not be initialized.',
                $moduleName
            ));
        }

我将如何调试这个问题?

4

2 回答 2

1

我怀疑您通过克隆 Github 存储库并创建 git 子模块来安装 ZfcUser。我在克隆我的整个应用程序(例如到一台新机器)时遇到了问题,而没有每次都单独克隆每个子模块。我遇到了与您在其他情况下相同的错误。

正如其他人所说,除非您有充分的理由不这样做,否则请使用作曲家。

于 2013-04-08T15:23:20.270 回答
0

正如 Sam 在上面的评论中所建议的那样,我安装了 Composer 并且 ZfcUser 工作正常。甚至不需要显式加载 ZfcBase。我错过了手动安装可能是 Doctrine 或其他依赖项。我最初拒绝使用 Composer,因为它应该在每个项目的基础上使用。但现在我将它用于几个安装到公共供应商目录的项目,所有项目共享相同的 index.php、ini_autoload.php 和 Composer autoload.php 文件。

于 2013-04-08T10:11:03.620 回答