我使用框架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/