我在窗口XAMPP中的本地系统中设置Yii2项目,我收到一个错误:
通用组件声明请求::validateCsrfToken()应该与yii兼容
但是代码在Ubuntu服务器上运行良好。
下面是我的validateCsrfToken()
方法:
public function validateCsrfToken()
{
if($this->enableCsrfValidation && in_array(Yii::$app->getUrlManager()->parseRequest($this)[0], $this->noCsrfRoutes)){
return true;
}
return parent::validateCsrfToken();
}
1条答案
按热度按时间wwwo4jvm1#
这个问题是因为你在Windows中使用了
strict
PHP,而不是在Linux中。你自己的函数common\components\Request::validateCsrfToken()
应该与yii\web\Request::validateCsrfToken()
兼容。这意味着,它需要有相同的签名。此时,您可以将自己的函数更改为
每次重写其中一个函数(即
beforeAction
、afterAction
、beforeSave
等)时,都需要执行此操作。