我正在使用Zend Framework for PHP并使用Zend_Session模块处理会话.这是我在初始化程序(或引导程序)中的内容:
Zend_Session::start(); Zend_Session::rememberMe(864000);
864000秒应该是好的10天,但我仍然被踢出大约一个小时(或者可能少一点).我已经通过设置为10秒来测试这个语句是否有效,并且确实在适当的时候被踢出去了,但是当我将它设置为非常高的值时,它不起作用!我在这里查看了一些文档:http: //framework.zend.com/manual/en/zend.session.html
我看到的另一种方法是使用以下方法:
$authSession = new Zend_Session_Namespace('Zend_Auth'); $authSession->setExpirationSeconds(3600);
现在,我有不同的命名空间.这是否意味着如果我想让它们过期,我必须为所有这些设置它?我还没有测试过这种设置过期的方法,但我真的很想看看这里的大师们对于解决这个问题的正确方法有何看法.非常感谢...
此外,有谁知道我怎么能这样做,以便会话永远不会到期?我已经尝试将第二个设置为0和-1,但是会引发错误.
我有同样的问题,并通过放置解决它:
resources.session.save_path = APPLICATION_PATH "/../data/session/" resources.session.gc_maxlifetime = 864000 resources.session.remember_me_seconds = 864000
在application.ini
(如tawfekov所建议的)和
protected function _initSessions() { $this->bootstrap('session'); }
在Bootstrap.php
(我通常先忘了).您必须为会话目录提供正确的访问权限(chmod 777
).我在这里描述了这个问题.希望这将有助于下一个有同样问题的人.