Php Yii会话存储、生存期和cookie

Php Yii会话存储、生存期和cookie,php,session,cookies,yii,Php,Session,Cookies,Yii,在配置文件会话存储中使用Yii框架的处理如下: 'session' => array( //'sessionName' => 'SomeSession', 'class' => 'CDbHttpSession', 'connectionID' => 'SomeConnection', 'autoCreateSessionTable' => false, 'sessionT

在配置文件会话存储中使用Yii框架的处理如下:

        '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