无法运行控制台命令yii2
问题描述:
我试图运行yii
但无法执行此操作。我收到以下错误:无法运行控制台命令yii2
commond:php yii
Exception 'yii\base\UnknownPropertyException' with message 'Setting unknown property: yii\console\Request::parsers'
in /var/www/html/alpha/html/vendor/yiisoft/yii2/base/Component.php:201
Stack trace:
#0 /var/www/html/alpha/html/vendor/yiisoft/yii2/BaseYii.php(529): yii\base\Component->__set('parsers', Array)
#1 /var/www/html/alpha/html/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\console\Request), Array)
#2 [internal function]: yii\base\Object->__construct(Array)
#3 /var/www/html/alpha/html/vendor/yiisoft/yii2/di/Container.php(381): ReflectionClass->newInstanceArgs(Array)
#4 /var/www/html/alpha/html/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('yii\\console\\Req...', Array, Array)
#5 /var/www/html/alpha/html/vendor/yiisoft/yii2/BaseYii.php(348): yii\di\Container->get('yii\\console\\Req...', Array, Array)
#6 /var/www/html/alpha/html/vendor/yiisoft/yii2/di/ServiceLocator.php(135): yii\BaseYii::createObject(Array)
#7 /var/www/html/alpha/html/vendor/yiisoft/yii2/console/Application.php(219): yii\di\ServiceLocator->get('request')
#8 /var/www/html/alpha/html/vendor/yiisoft/yii2/base/Application.php(380): yii\console\Application->getRequest()
#9 /var/www/html/alpha/html/yii(31): yii\base\Application->run()
#10 {main}
答
parsers
属性可用在yii\web\Request
,而不是在yii\console\Request
。
也许你已经把你的控制台配置合并到web配置中,这个属性被设置了。如果是这样,请确保控制台配置使用单独的request
组件设置进行设置。如果这不是configs merge的情况,请在控制台配置中删除此属性。
在我的共同/配置/ main.php '请求'=> [ '解析器'=> [ '应用/ JSON'=> 'YII \网络\ JsonParser', ] ], 但它的不在我的控制台配置。我怎样才能在控制台中删除它? – Arunendra
自2.0.10以来,您可以在控制台配置中添加:'request'=> ['parsers'=> new \ yii \ helpers \ UnsetArrayValue()],您需要确保控制台配置未与常规配置合并。 – Bizley