Модуль (ZfcUser) не может быть инициализирован

После установки 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
            ));
        }

Как я смогу отладить эту проблему?

2 ответа

Решение

Как предложил Сэм в комментариях выше, я установил с Composer и ZfcUser работает нормально. Нет необходимости явно загружать ZfcBase. Вероятно, это была Doctrine или другая зависимость, которую я пропустил при установке вручную. Сначала я отказался от использования Composer, потому что он должен использоваться для каждого проекта. Но теперь я использую его для нескольких проектов, где я устанавливаю в общий каталог поставщика, и все проекты используют один и тот же файл index.php, ini_autoload.php и Composer autoload.php.

Я подозреваю, что вы установили ZfcUser, клонировав репозиторий Github и создав субмодуль git. Я столкнулся с проблемами при клонировании всего моего приложения (например, на новую машину), не клонируя каждый подмодуль отдельно каждый раз. Я столкнулся с той же ошибкой, что и ты.

Как уже говорили другие, используйте композитор, если у вас нет веских причин не делать этого.

Другие вопросы по тегам