我在会话上设置超时时遇到问题Zend_Auth这是我的代码:
$authSession = new Zend_Session_Namespace('Zend_Auth');
$authSession->setExpirationSeconds(60*60*24*1);
此代码应该使会话在 1 天后过期,但实际会话在大约 30 分钟后过期。 有人知道出了什么问题吗?谢谢。
php.ini
中指定会话数据被视为"垃圾"的秒数的默认session.gc_maxlifetime值为 24 分钟。
调用Zend_Session_Namespace::setExpirationSeconds()
是 Zend 框架的内部调用,对会话 cookie 本身或服务器上的会话数据没有影响。
确保相应地调整session.gc_maxlifetime
值,以便 PHP 不会在您希望删除数据之前删除数据。 您可以直接在 php.ini
中设置此设置,也可以在引导程序中的某个位置使用ini_set
,或者从 ZF application.ini
文件中使用类似 resources.session.gc_maxlifetime = 864000
另请参阅:
持久登录的第 2 段 Zend_Session::记住我
如何在 PHP 中创建持久会话?
Zend 框架第 4 段 不活动后自动注销