2012-06-16 76 views
1

会议对于如:如何关闭使用Zend框架

http://example.com/login 

这里是我的地盘,一旦我里面记录和使用用户页面example.com/user,当我登录外www.example.com/logout那么会话将被关闭。

但是,如果用户在任何人使用example.com/user时未登录,则不应出现这些细节,因为我希望会话被关闭并且它也会影响不同的浏览器。

怎么办?

+0

你不需要做任何特殊。只要经过一些时间 - 会话是由GC自动解除 – zerkms

+0

@ Zerkms请你能不能给我一个很好的链接,我可以了解这一点,因为我是新来这个 – Anish

+1

http://stackoverflow.com/questions/520237/ 30分钟后如何做到-php会话 – zerkms

回答

0

Zend session management有由“跳”或基于时间的选项expire命名空间,你也可以写通过由Zend_Session锁定会话:: writeclose或使用Zend_Session :: destroy()方法(参考:http://framework.zend.com/manual/en/zend.session.global_session_management.html)摧毁它

destroy()方法:

破坏(布尔$ remove_cookie =真,布尔$只读= TRUE) 了Zend_Session :: destroy()方法销毁所有与当前会话关联的持久数据。但是,PHP中的变量不受影响,所以您的命名空间会话(Zend_Session_Namespace的实例)仍然可读。要完成“注销”,请将可选参数设置为TRUE(缺省值),以同时删除用户代理的会话ID cookie。可选的$ readonly参数删除了创建新的Zend_Session_Namespace实例和Zend_Session方法写入会话数据存储的能力。

writeClose():

writeClose($只读= TRUE) 关闭会话,写作接近和分离从后端存储机制_SESSION $。这将完成对此请求的内部数据转换。可选的$ readonly boolean参数可以通过在任何通过Zend_Session或Zend_Session_Namespace写入会话的尝试时抛出异常来移除写入访问。

+0

我使用Zend_Session_Namespace – Anish

+0

所以你可以使用setExpirationSeconds或setExpirationHops,因为我链接上面:http: //framework.zend.com/manual/en/zend.session.advanced_usage.html –

+0

非常感谢你 – Anish