我刚刚通过此命令将 Yii2-User 模块/Dektrium 安装到我的 Yii2-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
时。它抛出错误:
Invalid Configuration – yii\base\InvalidConfigException
The configuration for the "modules" component must contain a "class" element.
错误截图
而且,当我改变 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
,它会显示
Not Found (#404)
Page not found.
截图
我没有明白我做错了什么。请帮我改正。
最佳答案
我得到了答案。
我在 'components'=>[...]
中写了 'modules'=>[...]
,这是错误的。
现在,config/web.php
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
.
.
.
],
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
],
],
'params' => $params,
现在,它工作正常。
关于php - 无效配置 - yii\base\InvalidConfigException - Yii2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33079224/