我刚刚通过以下命令将Yii2 2-User模块/Dektrium安装到我的by 2-app-basic应用程序中
composer require "dektrium/yii2-user:0.9.*@dev"config/console.php
return [
.
.
'modules' => [
'gii' => 'yii\gii\Module',
'user' => [
'class' => 'dektrium\user\Module',
],
],
.
.
]config/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 “模块”组件的配置必须包含"class“元素。
错误截图

当我改变web.php的时候
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
/*
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],在我的浏览器中输入http://localhost/mylawsuit/yii/web/index.php?r=user/registration/register,显示
找不到(#404) 找不到页面。
屏幕截图

我不会弄错的。请帮我纠正一下。
发布于 2015-10-12 11:09:13
我得到了答案。
我在'components'=>[...]里面写了'components'=>[...],这是错误的。
现在,config/web.php
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
.
.
.
],
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],
'params' => $params,现在,一切都很顺利。
发布于 2016-04-13 18:12:50
如果您用404重写用户模型和'/ user /security/login‘重定向到'/user/login’,打开web配置并查找'urlManager‘组件。如果你开着enblePrettyUrl,看一下规则。问题就在那里--要么修改要么删除。
https://stackoverflow.com/questions/33079224
复制相似问题