2.7.2版本安装完成后直接报错 Call to a member function validateCsrfToken() on string

bug问题 · OneSmile · 于 3年前 发布 · 4252 次阅读

Call to a member function validateCsrfToken() on string

下午刚装一个2.7.2 完成后直接报错

本文由 OneSmile 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 16 条回复
johocn#13年前 0 个赞

信息太少

OneSmile#23年前 0 个赞

@johocn #1楼 完全配置,安装完成后,直接访问,前后台都出现这个问题

OneSmile#33年前 0 个赞

yflwz#43年前 0 个赞

我这边也是

Fecmall#53年前 0 个赞

描述问题是一种能力,这个帖子看不到

FrankMu#63年前 0 个赞

我这边升完级2.7.2也报这个错误,链接:appfront首页,报错信息: Call to a member function validateCsrfToken() on string 回退2.6.0,系统正常了 composer require "fancyecommerce/fecshop:2.6.0"

Fecmall#73年前 0 个赞

无论你们怎么叫,不把报错信息写清楚,就没法解决。

wizren#83年前 0 个赞

找到/vendor/yiisoft/yii2/web/Controller.php 在200行左右

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()

改成这样可以,不懂php,有问题还请纠正

Fecmall#93年前 0 个赞

@wileep #8楼

1.这种修改,去动yii2框架的代码,本身就是错误的

2.上面说了,出现报错,把报错写信全部贴出来,没有一个把报错全部贴出来,写清楚

报错信息不全,帮不上忙。

10楼 已删除.
louis#113年前 0 个赞

同样的问题。 复制出来的报错信息是乱的,只能截图了。

Fecmall#123年前 0 个赞

@louis #11楼 宝塔安装,还是composer安装的?

Fecmall#133年前 1 个赞

@louis #11楼 多谢你的报错贴图

错误已经定位,这个是yii2更新导致的问题:https://github.com/yiisoft/yii2/blob/master/framework/base/Controller.php#L105

yii2加入类变量 $request , 在init函数中初始化,因此如果重写controller的init方法,必须执行 parent:init; , 否则就会出这个报错,而fecmall的有一些controller重新init方法,但是没有执行 parent:init;导致的controller 中的$this->request没有初始化导致的问题。

后面发版处理这个问题。

louis#143年前 0 个赞

@Fecmall #13楼 很高兴能帮上忙。

Fecmall#153年前 1 个赞

已经发版 2.7.3 composer 和宝塔下载源都更新了

Q群文件也更新了

Fecmall#163年前 0 个赞

请下载最新版本2.7.4版本

Fecmall#173年前 0 个赞

2.7.4版本发布:http://www.fecmall.com/topic/4322

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics