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

0

上記のコメントでサムが示唆したように、私は Composer とともにインストールし、ZfcUser は正常に動作します。ZfcBase を明示的にロードする必要さえありません。手動でインストールできなかったのは、おそらくDoctrineまたはその他の依存関係でした。Composer はプロジェクトごとに使用する必要があるため、最初は Composer を使用することに抵抗がありました。しかし今では、共通のベンダー ディレクトリにインストールし、すべてのプロジェクトで同じ index.php、ini_autoload.php、および Composer autoload.php ファイルを共有する複数のプロジェクトで使用しています。

于 2013-04-08T10:11:03.620 に答える