0

I have problem for set a timeout on Zend_Auth Session this is my code :

$authSession = new Zend_Session_Namespace('Zend_Auth');
$authSession->setExpirationSeconds(60*60*24*1);

This code should make session expire after 1 day but actualy session expire after about 30 min. Anyone know what's wrong ? Thank you.

4

1 回答 1

6

默认session.gc_maxlifetimephp.ini指定在多少秒后会话数据将被视为“垃圾”,为 24 分钟。

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

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

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

于 2012-06-03T19:58:45.287 回答