php - Yii2 控制台应用程序 - cookieValidationKey 配置错误

标签 php wampserver yii2-advanced-app

我已经在我的 backend\config\main.phpfrontend\config\main.php 中配置了 cookieValidationKey 并将其从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}

为什么会发生这种情况?我的 console\config\main.php 中没有 cookieValidationKey,所以它不应该弹出此错误。

我使用 Windows 和 wamp-server,但我在 Ubuntu 服务器上测试了它,它返回了相同的错误。

最佳答案

这是因为您的控制台命令在执行实际操作之前组合了所有配置。有一些配置参数对控制台操作无效,但对 Web 请求有用。解决方案是在执行控制台操作之前删除这些参数。
添加以下行

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

之前

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

在文件yii中。

因为我通过 vagrant 运行 Web 服务器,所以我没有测试通过 yii 命令运行 Web 应用程序是否有副作用。

关于php - Yii2 控制台应用程序 - cookieValidationKey 配置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47036901/

相关文章:

从 cronjob 运行时,PHP 没有读取或写入文件的权限

php - 根据条件更改元素的显示

apache - 禁止 : You don't have permission to access/on this server, WAMP 错误

php - 如何将密码解密为要在更新表单 Yii2(高级模板)中显示的真实密码?

php - 无法从 Yii2 中的系统注销

php - 在与 Doctrine2 的多态关联中找不到字段

php - Magento:两个模块可以扩展相同的核心模型吗?

php - 将 PHP 7 与 WAMP 结合使用

mysql - 多sql select语句

php - 将按钮值提交给 Controller 但未能发布该值