Zend_Session_Namespace和setExpirationSeconds

Sio*_*iol 0 zend-framework zend-session

我在Zend_Auth会话上设置超时有问题这是我的代码:

$authSession = new Zend_Session_Namespace('Zend_Auth');
$authSession->setExpirationSeconds(60*60*24*1);
Run Code Online (Sandbox Code Playgroud)

此代码应使会话在1天后过期,但实际会话在约30分钟后到期.谁知道什么是错的?谢谢.

dre*_*010 6

默认的session.gc_maxlifetimephp.ini指定会话数据被视为"垃圾"的秒数是24分钟.

调用Zend_Session_Namespace::setExpirationSeconds()是Zend Framework的内部,对会话cookie本身或服务器上的会话数据没有影响.

确保相应地调整您的session.gc_maxlifetime值,以便PHP不会在您希望之前删除数据.您可以直接设置它,php.ini也可以ini_set在引导程序中的某个位置使用,或者从ZF application.ini文件中使用,例如resources.session.gc_maxlifetime = 864000

另请参见:使用Zend_Session :: rememberMe持久登录的
第2段如何在PHP中创建持久会话?Zend Framework自动注销不活动后的 第4段