我刚刚通过此命令将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
“modules”组件的配置必须包含“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)
找不到页面。
截图
我没有得到我在做错的地方。请帮我纠正。
答案 0 :(得分:3)
我有回答。
我在'modules'=>[...]
内写了'components'=>[...]
,这是错误的。
现在, config / web.php
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
.
.
.
],
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],
'params' => $params,
现在,它工作正常。
答案 1 :(得分:0)
如果您重写了用户模型并且[' / user / security / login']重定向到' / user / login'使用404,打开网络配置并查找' urlManager'零件。 如果你有enblePrettyUrl,请查看规则。 问题在于 - 更改或删除。