php - 如果使用 yii2,Google Chrome 中的 Cookie 不会被删除

标签 php yii yii2

我使用框架Yii2。当我做时:

Yii::$app->user->login($this->getUser(), 60);//cookies for 60 seconds

Google Chrome 浏览器在 60 秒过期后不会删除 Cookie。


如果我不使用Yii2框架:

setcookie("test", time() + (60), "/"); 

一切正常。


为什么,如果你使用 Yii2,在浏览器 GoogleChrom 中删除 cookie 不起作用?

最佳答案

Yii::$app->user->login($user, $duration); 仅设置浏览器关闭时 _identity-cookie 的存活时间。

要在设定的不活动时间后注销某人,您必须将持续时间设置为 null 并在用户组件中添加 'authTimeout' => 60

common\models\LoginForm.php

...
return Yii::$app->user->login($this->getUser(), null);
...

frontend\config\main.php

...
'components' => [
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'authTimeout' => 60,
    ],
...

Yii2 附带了很棒的文档,我建议看一下: http://www.yiiframework.com/doc-2.0/yii-web-user.html

关于php - 如果使用 yii2,Google Chrome 中的 Cookie 不会被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35925365/

相关文章:

php - 在 Php 中执行 linux echo 命令 (.sh)

php - 在 PHP 中满足条件后更新 mysql 数据库

yii - Behat步骤 "I should see"没有看到

mysql - Yii1相当于Sql查询

yii2 - 如何从 yii2 中的特定 View 中删除 Assets

Yii2管理面板授权

javascript - 当通过 http header 将 cookie 发送到浏览器时,它会被添加到客户端浏览器吗?

扩展类 __construct 上的 PHP OOP 更新 protected 字符串

php exec 在 centos 中不起作用

javascript - 在 Yii2 中通过 jQuery 获取单选按钮的值