Zend_Session_Namespace并设置过期秒数



我在会话上设置超时时遇到问题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 段 不活动后自动注销

最新更新