Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2与前面的请求一样,导致无限递归_Php_Yii2_Yii2 User - Fatal编程技术网

Php Yii2与前面的请求一样,导致无限递归

Php Yii2与前面的请求一样,导致无限递归,php,yii2,yii2-user,Php,Yii2,Yii2 User,我正试图遵循这个建议,因此我的config\web.php$config定义包括 'components' => [...], 'as beforeRequest' => [ 'class' => 'yii\filters\AccessControl', 'rules' => [ [ 'allow' => true, 'actions' => ['login'],

我正试图遵循这个建议,因此我的config\web.php
$config
定义包括

    'components' => [...],
    'as beforeRequest' => [
    'class' => 'yii\filters\AccessControl',
    'rules' => [
        [
            'allow' => true,
            'actions' => ['login'],
        ],
        [
            'allow' => true,
            'roles' => ['@'],
        ],
    ],
    'denyCallback' => function() {
        return Yii::$app->response->redirect('[site/login]');
    },
],
但是当我运行它时,Firefox说“页面没有正确重定向”

在Yii服务器命令窗口中,我可以看到发生了什么。前几行是这样的:

[2019年11月16日星期六09:17:53]::1:51836[302]:/

[2019年11月16日星期六09:17:53]::1:51837[302]:/[站点/登录]

[2019年11月16日星期六09:17:53]::1:51840[302]:/[site/[site/login]

[2019年11月16日星期六09:17:53]::1:51841[302]:/[site/[site/[site/[site/login]

[2019年11月16日星期六09:17:53]::1:51842[302]:/[site/[site/[site/[site/[site/[site/login]

这种情况持续20次,直到浏览器明显停止

我认为必须发生的是,拒绝回调调用站点控制器,这导致再次执行beforeRequest,再次调用拒绝回调,等等,“无限”.但我不知道我做错了什么,也不知道如何阻止它。我从站点控制器中删除了所有访问行为行;也许我需要在其中放一些东西来阻止它?

它在该行中

'denyCallback' => function() {
    return Yii::$app->response->redirect('[site/login]');
},

redirect(“[site/login]”)中的引号错误;
,应该是
redirect(['site/login]”;

Yii::$app->response->redirect(“[site/login]”);引号
不正确,它们应该像
Yii::$app->response->redirect(['site/login'))
Oops!是的,谢谢。现在我遇到了一些其他错误,但也许我可以自己解决这些错误。是的,就是这样。我提到的其他错误是我后来输入的,但当我把它取出来时,它成功了。谢谢。