Php Yii会话存储、生存期和cookie
在配置文件会话存储中使用Yii框架的处理如下:Php Yii会话存储、生存期和cookie,php,session,cookies,yii,Php,Session,Cookies,Yii,在配置文件会话存储中使用Yii框架的处理如下: 'session' => array( //'sessionName' => 'SomeSession', 'class' => 'CDbHttpSession', 'connectionID' => 'SomeConnection', 'autoCreateSessionTable' => false, 'sessionT
'session' => array(
//'sessionName' => 'SomeSession',
'class' => 'CDbHttpSession',
'connectionID' => 'SomeConnection',
'autoCreateSessionTable' => false,
'sessionTableName' => 'SomeTable',
'autoStart' => 'false',
'cookieMode' => 'only',
'useTransparentSessionID' => false,
'timeout' => CSESSIONTIMEOUT,
'cookieParams' => array(
'path' => '/',
'domain' => '.somedomain.extension',
'expire' => time()+5256000,
'lifetime' => time()+5256000,
//'httpOnly' => true,
),
),
如您所见,会话存储在数据库中具有给定生存期的表中。但是如果我检查数据库中存储的会话,它们不会以给定的生存期存储,而是以一年的生存期存储
在我们的应用程序中,我能找到的唯一生命周期为一年的东西就是cookies。例如:
setcookie("cookie_name", $someValue, time()+31536000, "/", "somedomain");
'session' => array(
'class' => 'CDbHttpSession',
'timeout' => 5256000,
// ...
让我困惑的是我们应用程序中的cookies。这可能会覆盖Yii会话存储配置吗
更新
我也遇到了这一行代码
$_SESSION['POLL_'.$idPoll.'somekey'] = strtotime("now");
这行代码在数据库中插入了会话记录。但这张唱片的寿命也只有一年。这是怎么可能的?您需要像这样向配置中添加参数:
setcookie("cookie_name", $someValue, time()+31536000, "/", "somedomain");
'session' => array(
'class' => 'CDbHttpSession',
'timeout' => 5256000,
// ...
上述恒常性已定义,但我将尝试您的suggestion@PimD1988我查过了。在表中,会话集expire值+5256000Yes,但关键是会话的存储周期比定义的要长,实际上是一年,这不是我想要的。@PimD1988 ok。尝试将下一行插入控制器的任何操作:
echo gmdate(“Y-m-d”,time()+5256000);模具()代码>。你看到了什么?在我的案例结果中:2016-02-17