Я только что установил модуль Yii2-User / Dektrium в мое приложение Yii2-app-basic этой командой
composer require "dektrium/yii2-user:0.9.*@dev"
конфиг / console.php
return [
.
.
'modules' => [
'gii' => 'yii\gii\Module',
'user' => [
'class' => 'dektrium\user\Module',
],
],
.
.
]
конфиг / web.php
'components' => [
.
.
/*
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
*/
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],
.
.
]
После этого я запускаю эту команду $ php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
для обновления схемы базы данных.
Но когда я бегу http://localhost/mylawsuit/yii/web/index.php?r=user/registration/register
в моем браузере. Выдает ошибку:
Неверная конфигурация — yii \ base \ InvalidConfigException
Конфигурация для компонента «модули» должна содержать элемент «класс».
Скриншот ошибки
И когда я меняюсь web.php
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
/*
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],
Typing http://localhost/mylawsuit/yii/web/index.php?r=user/registration/register
в моем браузере это показывает
Не найден (# 404)
Страница не найдена.
Скриншот
Я не понимаю, где я делаю ошибку. Пожалуйста, помогите мне исправить.
Я получил ответ.
я написал 'modules'=>[...]
внутри 'components'=>[...]
что было неправильно.
Сейчас, конфиг / web.php
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
.
.
.
],
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],
'params' => $params,
Теперь работает нормально.
Если вы переписали модель пользователя и [‘/ user / security / login’] перенаправили на ‘/ user / login’ с помощью 404, откройте веб-конфигурацию и найдите компонент ‘urlManager’.
Если у вас есть enblePrettyUrl, посмотрите на правила.
Проблема есть — поменяй или удали.