Не получается накатить миграцию для rbac

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
Аватара пользователя
qwerty444
Сообщения: 78
Зарегистрирован: 2016.12.27, 07:32
Откуда: Россия
Контактная информация:

Не получается накатить миграцию для rbac

Сообщение qwerty444 » 2016.12.27, 08:05

доброго времени суток. помогите исправить ситуацию.Не получается накатить миграцию для rbac выдаёт ошибку .
in /var/www/test.org/basic/vendor/yiisoft/yii2/di/ServiceLocator.php:202

Stack trace:
#0 /var/www/test.org/basic/vendor/yiisoft/yii2/di/ServiceLocator.php(258): yii\di\ServiceLocator->set('modules', Array)
#1 /var/www/test.org/basic/vendor/yiisoft/yii2/base/Component.php(169): yii\di\ServiceLocator->setComponents(Array)
#2 /var/www/test.org/basic/vendor/yiisoft/yii2/BaseYii.php(521): yii\base\Component->__set('components', Array)
#3 /var/www/test.org/basic/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\console\Application), Array)
#4 /var/www/test.org/basic/vendor/yiisoft/yii2/base/Application.php(206): yii\base\Object->__construct(Array)
#5 /var/www/test.org/basic/vendor/yiisoft/yii2/console/Application.php(89): yii\base\Application->__construct(Array)
#6 /var/www/test.org/basic/yii(19): yii\console\Application->__construct(Array)
#7 {main}
вот web.php

Код: Выделить всё

<?php

$params = require(__DIR__ . '/params.php');

$config = [
    'id' => 'basic',
    'basePath' => dirname(__DIR__),
    'language' => 'ru-RU',
    'bootstrap' => ['log'],
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'SiMhYyhP2MZ_BAi321KfDHFk5uleQFa9',
        ],
        'jdate' => [
            'class' => 'jDate\DateTime'
        ],
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],

        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',

            'useFileTransport' => false,
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.yandex.ru',
                'username' => 'email',
                'password' => 'password',
                'port' => '587',
                'encryption' => 'tls',
            ],
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'urlManager' => [
            'class' => 'yii\web\UrlManager',
            // Disable index.php  .
            'showScriptName' => true,
            // Disable r= routes
            'enablePrettyUrl' => true,
            'rules' => array(
                '<controller:\w+>/<id:\d+>' => '<controller></controller>',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            ),
        ],
        'db' => require(__DIR__ . '/db.php'),
    ],

    'modules' => [

        'rbac' => 'dektrium\rbac\RbacWebModule',

    ],

  /*  'modules' => [

        'user' => [
            'class' => 'dektrium\user\Module',
            'controllerMap' => [
                'admin' => [
                    'class'  => 'app\controllers\user\AdminController',
                    'layout' => '/user/admin/index',

                ],
            ],
        ],
    ],

  */  
    'modules' => [

        'user' => [
            'class' => 'dektrium\user\Module',
            'enableUnconfirmedLogin' => true,//boolean
            'confirmWithin' => 21600,//integer
            'cost' => 12, //integer
            'admins' => ['admin']//array
        ],

    ],

  

    'params' => $params,

];

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

return $config; 
что это может озночать?как исправить.
Последний раз редактировалось qwerty444 2016.12.28, 02:04, всего редактировалось 3 раза.

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Не получается накатить миграцию для rbac

Сообщение Onotole » 2016.12.27, 10:21

1. Ошибку нам угадать?
2. Запускаете консольное приложение, а конфиг предоставляете от веб...
3. Неужели так сложно обернуть код в соответствующий ббкод?

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Не получается накатить миграцию для rbac

Сообщение zelenin » 2016.12.27, 12:36

я думаю ругается на повторное использовнаие ключа в массиве

Аватара пользователя
qwerty444
Сообщения: 78
Зарегистрирован: 2016.12.27, 07:32
Откуда: Россия
Контактная информация:

Re: Не получается накатить миграцию для rbac

Сообщение qwerty444 » 2016.12.27, 21:25

Onotole писал(а):1. Ошибку нам угадать?
2. Запускаете консольное приложение, а конфиг предоставляете от веб...

если нужен console.php вот:

Код: Выделить всё

<?php

$params = require(__DIR__ . '/params.php');
$db = require(__DIR__ . '/db.php');

$config = [
    'id' => 'basic-console',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'app\commands',
    'components' => [

        'modules' => [

    'rbac' => 'dektrium\rbac\RbacConsoleModule',

],


               'id' => 'app-console',//добавленно 26.12.
               'modules' => [
                   'user' => [
                       'class' => 'dektrium\user\Module',
                   ],
               ],

        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],

        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'db' => $db,
    ],

    /*
    'controllerMap' => [
        'fixture' => [ // Fixture generation command line.
            'class' => 'yii\faker\FixtureController',
        ],
    ],
    */

     ];

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

return $config;



Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Не получается накатить миграцию для rbac

Сообщение Onotole » 2016.12.27, 21:37

ошибку мы так и не увидим...
modules это не компонент

Код: Выделить всё

<?php

$params = require(__DIR__ . '/params.php');
$db = require(__DIR__ . '/db.php');

$config = [
    'id' => 'basic-console',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'app\commands',
    'components' => [
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'db' => $db,
    ],
    'modules' => [
        'rbac' => 'dektrium\rbac\RbacConsoleModule',
        'user' => [
            'class' => 'dektrium\user\Module',
        ],
    ],

    /*
    'controllerMap' => [
        'fixture' => [ // Fixture generation command line.
            'class' => 'yii\faker\FixtureController',
        ],
    ],
    */

     ];

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

return $config;
 

Аватара пользователя
qwerty444
Сообщения: 78
Зарегистрирован: 2016.12.27, 07:32
Откуда: Россия
Контактная информация:

Re: Не получается накатить миграцию для rbac

Сообщение qwerty444 » 2016.12.28, 02:00

Сделал по этому коду получилось.Cпасибо большое .

Ответить