【发布时间】:2011-09-13 12:41:51
【问题描述】:
我已经在 Apache 中更改了我的 php.ini 以具有这些设置:
session.gc_maxlifetime = 1440
session.cache_expire = 1500
但我的会议时间并不长。问题是我不确定哪些设置会“成功”
理想情况下,我正在寻找使会话持续 12 小时的正确配置。谁能帮我解决这个问题?
【问题讨论】:
标签: php apache configuration
我已经在 Apache 中更改了我的 php.ini 以具有这些设置:
session.gc_maxlifetime = 1440
session.cache_expire = 1500
但我的会议时间并不长。问题是我不确定哪些设置会“成功”
理想情况下,我正在寻找使会话持续 12 小时的正确配置。谁能帮我解决这个问题?
【问题讨论】:
标签: php apache configuration
session.gc_maxlifetime 以秒为单位,因此您设置的 1440 将在 24 分钟后过期。 (见:http://php.net/session.gc-maxlifetime)
对于 12 小时的课程,我相信您需要:
session.gc_maxlifetime = 43200
session.cache_expire = 720
session.cookie_lifetime = 0
【讨论】:
您是否也设置了 session.cookie_lifetime = 0 ? 并且可能在您的脚本或某些包含的脚本中的某个地方将会话生命周期设置为另一个值?
默认的“0”值表示 cookie 在浏览器关闭之前一直保持活动状态。如果没有在 php.ini 中设置,这也是默认值。 来源:http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
【讨论】:
看看:
session.cookie_lifetime x
其中 x 是以秒为单位的生命周期
此外,如果您在共享主机上,请确保 /tmp 下的会话数据不会被主机使用某种干净的脚本删除。一些主机每 10 分钟清除一次 /tmp。
【讨论】: