如果用户闲置10分钟,则退出Zend会话

时间:2012-06-11 07:09:48

标签: php zend-framework session session-timeout zend-session

我是zend的新手,我想问如果用户闲置10分钟,我怎样才能使用户的会话命名空间的特定密钥失效。我在zend会话中定义了一个命名空间

 $session = new Zend_Session_Namespace('loginNamespace');

现在当用户登录时,我在会话命名空间中设置了键loggedIn = 1。现在,如果用户保持空闲但只有该密钥,我希望不会使整个会话到期。我怎么能这样做?

1 个答案:

答案 0 :(得分:5)

documentation开始,您可以使用以下方式使密钥到期:

$session->setExpirationSeconds( 600, 'key' );

那么,你怎么玩呢?这样:

// Set "dummy" key with expiration
$session->setExpirationSeconds( 600, 'key' );

// Then, you can check if this key exists
if ( $session->key ) {
    // Just reset the expiration
    $session->setExpirationSeconds( 600, 'key' );
}
else {
    // Delete your other key
}