Yii2 升级后运行报错 Call to a member function validateCsrfToken() on array

前言

tips:如果本文对你有用,请爱心点个赞,提高排名,让这篇文章帮助更多的人。谢谢大家!比心❤~
如果解决不了,可以在文末加我微信,进群交流。
报错入下图:

根据报错信息查看\vendor\yiisoft\yii2\web\Controller.php 215行代码。

    /**
     * {@inheritdoc}
     */
    public function beforeAction($action)
    {
        if (parent::beforeAction($action)) {
            if ($this->enableCsrfValidation && Yii::$app->getErrorHandler()->exception === null && !$this->request->validateCsrfToken()) {
                throw new BadRequestHttpException(Yii::t('yii', 'Unable to verify your data submission.'));
            }

            return true;
        }

        return false;
    }

修复报错信息,将 !$this->request->validateCsrfToken()改成 !Yii::$app->getRequest()->validateCsrfToken()如下:


    /**
     * {@inheritdoc}
     */
    public function beforeAction($action)
    {
        if (parent::beforeAction($action)) {
            if ($this->enableCsrfValidation && Yii::$app->getErrorHandler()->exception === null && !Yii::$app->getRequest()->validateCsrfToken()) {
                throw new BadRequestHttpException(Yii::t('yii', 'Unable to verify your data submission.'));
            }

            return true;
        }

        return false;
    }

问题解决~

posted @ 2021-04-21 18:08  梦逸灵箭  阅读(340)  评论(0编辑  收藏  举报