无效的配置 - yii \ base \ InvalidConfigException - Yii2

时间:2015-10-12 10:47:04

标签: php yii2 yii2-basic-app yii2-user

我刚刚通过此命令将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”   元件。

错误的屏幕截图

enter image description here

而且,当我改变 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)

     

找不到页面。

截图

enter image description here

我没有得到我在做错的地方。请帮我纠正。

2 个答案:

答案 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,请查看规则。 问题在于 - 更改或删除。