我正在学习如何使用 Yii 2.0 创建控制台应用程序。我已经下载了 Yii 高级软件包 2.0,其中已经有默认的控制台应用程序。我已经复制了该控制台应用程序并粘贴到我的项目中。在那个控制台应用程序中,我有一个 TestController 和一个 actionIndex() 方法,非常基本地遵循 Yii 2.0 的文档。当我在项目中运行命令时:
php yii test
我有以下错误:
Exception 'yiibaseUnknownPropertyException' with message 'Setting unknown property: yiiconsoleRequest::enableCookieValidation'
当我在下载的 Yii 高级应用程序中运行相同的命令时。它工作正常。我不知道是什么原因导致我的项目中出现错误以及在哪里检查它。有人知道吗?如果你问我的控制台应用程序是什么样子的,它实际上是从 Yii 2.0 高级应用程序复制而来的。如果我运行:
php yii migrate
我得到同样的错误。
似乎您的控制台应用程序配置中有以下行:
'request' => [
'enableCookieValidation' => ...
],
您应该删除它,因为与yiiwebRequest
相比yiiconsoleRequest
根本没有该属性。
,在 Yii 高级模板中,有三个设置实例; common/config 是第一个实例,之后,这些属性中的许多覆盖