2017-10-31 2 views
0

Ich habe die cookieValidationKey innerhalb meiner backend\config\main.php und frontend\config\main.php konfiguriert und entfernt von common\config\main.php. Aber wenn ich php yii innerhalb der Befehlszeile ausführen. Ich bekomme diesen Fehler. Noch bevor ich es auf meine Backend-Konfiguration eingestellt habe, tauchte der Fehler auf, wenn ich die Befehlszeile verwendete.Yii2 Konsole App - CookieValidationKey Konfig Fehler

$ 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} 

Warum passiert das? Ich hatte keine cookieValidationKey in meinem console\config\main.php, so sollte es nicht Popup diesen Fehler.

Ich benutze Windows und Wamp-Server, aber ich habe es auf einem Ubuntu-Server getestet und es gibt den gleichen Fehler zurück.

Antwort

0

Das liegt daran, dass Ihr Konsolenbefehl alle Konfigurationen kombiniert hat, bevor Sie die eigentliche Aktion ausführen. Es gibt einige Config-Parameter, die für Konsolenaktionen ungültig sind, aber für Webanforderungen nützlich sind. Die Lösung besteht darin, diese Parameter vor dem Ausführen von Konsolenaktionen zu entfernen. In
die folgende Zeile

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

vor

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

in Datei yii.

Weil ich Web-Server über Vagrant laufen lasse, habe ich nicht geprüft, ob es Nebenwirkung zur Web-APP gibt, die über yii Befehl ausgeführt wird.

+0

danke, mann! Ich entfernte die Configs im allgemeinen Abschnitt und trennte sie in Backend- und Frontend-Abschnitte. es funktioniert jetzt. –