Ошибка при php yii rbac/init

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Bezlepkin
Сообщения: 731
Зарегистрирован: 2012.11.10, 18:59
Контактная информация:

Ошибка при php yii rbac/init

Сообщение Bezlepkin »

Привет! На локале работает на хосте при php yii rbac/init

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

Warning: Invalid argument supplied for foreach() in /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/helpers/BaseArrayHelper.php on line 121
Exception 'yii\base\InvalidConfigException' with message 'The configuration for the "user" component must contain a "class" element.'

in /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/di/ServiceLocator.php:202

Stack trace:
#0 /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/di/ServiceLocator.php(258): yii\di\ServiceLocator->set('user', Array)
#1 /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/base/Component.php(169): yii\di\ServiceLocator->setComponents(Array)
#2 /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/BaseYii.php(518): yii\base\Component->__set('components', Array)
#3 /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\console\Application), Array)
#4 /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/base/Application.php(206): yii\base\Object->__construct(Array)
#5 /var/www/u6606979/public_html/dev/vendor/yiisoft/yii2/console/Application.php(79): yii\base\Application->__construct(Array)
#6 /var/www/u6606979/public_html/dev/yii(30): yii\console\Application->__construct(Array)
#7 {main}
 

Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Ошибка при php yii rbac/init

Сообщение Demon_id »

на локалке в локальном конфиге настроен user компонент. а на хосте в нём потерялся 'class'=>'....'

Аватара пользователя
Bezlepkin
Сообщения: 731
Зарегистрирован: 2012.11.10, 18:59
Контактная информация:

Re: Ошибка при php yii rbac/init

Сообщение Bezlepkin »

в main.php

'user' => [
'identityClass' => 'modules\user\models\User',
'enableAutoLogin' => true,
],

все есть

Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Ошибка при php yii rbac/init

Сообщение Demon_id »

Bezlepkin писал(а):в main.php

'user' => [
'identityClass' => 'modules\user\models\User',
'enableAutoLogin' => true,
],

все есть
а main-local.php есть?

padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: Ошибка при php yii rbac/init

Сообщение padlyuck »

'class' => 'yii\web\User', потеряли

Аватара пользователя
Bezlepkin
Сообщения: 731
Зарегистрирован: 2012.11.10, 18:59
Контактная информация:

Re: Ошибка при php yii rbac/init

Сообщение Bezlepkin »

main-local.php

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

<?php
return [
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=...',
            'username' => ...',
            'password' => '...',
            'charset' => 'utf8',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => true,
        ],
    ],
];

Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Ошибка при php yii rbac/init

Сообщение Demon_id »

padlyuck писал(а):'class' => 'yii\web\User', потеряли
в конфиге он не нужен. он там по дефолту. благодаря такому коду из Application:

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

    public function coreComponents()
    {
        return array_merge(parent::coreComponents(), [
            'request' => ['class' => 'yii\web\Request'],
            'response' => ['class' => 'yii\web\Response'],
            'session' => ['class' => 'yii\web\Session'],
            'user' => ['class' => 'yii\web\User'],
            'errorHandler' => ['class' => 'yii\web\ErrorHandler'],
        ]);
    }

Аватара пользователя
ElisDN
Сообщения: 5669
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Ошибка при php yii rbac/init

Сообщение ElisDN »

А в console/config/main.php или common/config/main.php компонент user есть?
Последний раз редактировалось ElisDN 2015.03.03, 17:18, всего редактировалось 1 раз.


padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: Ошибка при php yii rbac/init

Сообщение padlyuck »

Demon_id писал(а):
padlyuck писал(а):'class' => 'yii\web\User', потеряли
в конфиге он не нужен. он там по дефолту. благодаря такому коду из Application:

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

    public function coreComponents()
    {
        return array_merge(parent::coreComponents(), [
            'request' => ['class' => 'yii\web\Request'],
            'response' => ['class' => 'yii\web\Response'],
            'session' => ['class' => 'yii\web\Session'],
            'user' => ['class' => 'yii\web\User'],
            'errorHandler' => ['class' => 'yii\web\ErrorHandler'],
        ]);
    } 
специально проверил. в common/config/main.php
было

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

'components' => [
    'user' => [
            'class' => 'yii\web\User',
            'identityClass' => 'dektrium\user\models\User',
            'enableAutoLogin' => true,
            'loginUrl' => ['/user/security/login'],
        ],
]
 
комментирую строчку 'class' => 'yii\web\User', вызов ./yii падает ровно с той же ошибкой что и у автора. при этом web приложения работают нормально как будто ничего и не менялось

Аватара пользователя
ElisDN
Сообщения: 5669
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Ошибка при php yii rbac/init

Сообщение ElisDN »

Bezlepkin писал(а):Нет
Тогда либо добавьте в console/config/main.php или перенесите из backend и frontend в common/config/main.php.

Аватара пользователя
Bezlepkin
Сообщения: 731
Зарегистрирован: 2012.11.10, 18:59
Контактная информация:

Re: Ошибка при php yii rbac/init

Сообщение Bezlepkin »

Прописал 'class' => 'yii\web\User', - заработало!

Спасибо!

Ответить