【发布时间】:2011-10-17 15:07:37
【问题描述】:
我有一些关于 php 会话超时的问题。我在应用程序运行时设置了以下值:
session.gc_maxlifetime = 3600
session.cookie_lifetime = 3600
session.save_path = myApplicationPath/tmp
session.use_cookies = 1
session.use_only_cookies = 1
但是,我的会话将在大约 30 分钟后到期。另外,我的 tmp 目录仍然是空的,所以看起来实际上没有设置任何 cookie。 echoing ini_get("session.save_path") 确实返回了正确的路径。
【问题讨论】:
-
只是为了检查:确保在调用
session_start之前设置了 ini 值。此外,与phpinfo()的输出进行比较,您可以将其放入测试文件中。 -
值确实是在 session_start 之前设置的。 phpinfo 状态:本地值 var/www/myproject/tmp 主值 /etc/lib/php5.会话文件仍被写入主值。
-
找到了!使用 Zend_Session 您不会收到有关在其他地方开始的会话的通知。当我停止使用 Zend_Session 时,我收到了通知。将我的代码放在引导程序中解决了这个问题。