Консольное приложение Yii2 — ошибки конфигурации cookieValidationKey

Я настроил cookieValidationKey внутри моего backend\config\main.php а также frontend\config\main.php и удалил его из common\config\main.php, Но когда я бегу php yii внутри командной строки. Я получаю эту ошибку.
Еще до того, как я установил его в свой бэкэнд-конфиг, ошибка появилась при использовании командной строки.

$ php yii
Exception 'yii\base\UnknownPropertyException' with message 'Setting unknown property: yii\console\Request:
:cookieValidationKey'

in D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\base\Component.php:201

Stack trace:
#0 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\BaseYii.php(525): yii\base\Component->__set('cook
ieValidatio...', '9H2hvsco52yQ0N2...')
#1 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\base\Object.php(105): yii\BaseYii::configure(Obje
ct(yii\console\Request), Array)
#2 [internal function]: yii\base\Object->__construct(Array)
#3 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\di\Container.php(381): ReflectionClass->newInstan
ceArgs(Array)
#4 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\di\Container.php(156): yii\di\Container->build('y
ii\\console\\Req...', Array, Array)
#5 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\BaseYii.php(344): yii\di\Container->get('yii\\con
sole\\Req...', Array, Array)
#6 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\di\ServiceLocator.php(135): yii\BaseYii::createOb
ject(Array)
#7 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\console\Application.php(219): yii\di\ServiceLocat
or->get('request')
#8 D:\web\wamp64\www\html\royall.dev\vendor\yiisoft\yii2\base\Application.php(380): yii\console\Applicatio
n->getRequest()
#9 D:\web\wamp64\www\html\royall.dev\yii(27): yii\base\Application->run()
#10 {main}

Почему это происходит? У меня не было cookieValidationKey внутри моего console\config\main.php так что не должно всплывать эта ошибка.

Я использую windows и wamp-сервер, но я проверил его на сервере Ubuntu, и он возвращает ту же ошибку.

0

Решение

Это потому, что ваша консольная команда объединила все конфиги перед выполнением действительного действия. Существуют некоторые параметры конфигурации, которые недопустимы для действий консоли, но полезны для веб-запросов. Решение состоит в том, чтобы удалить эти параметры перед выполнением действий консоли.
Добавьте следующую строку

unset($config['components']['request']);

до

$application = new yii\console\Application($config);

в файле yii,

Поскольку я запускаю веб-сервер через vagrant, я не проверял, есть ли побочный эффект для веб-приложения, запускаемого командой yii.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector