PHP会话到期

时间:2011-01-28 10:59:05

标签: php session-timeout

我有一个会话,在30分钟的不活动被销毁或23.4小时后被销毁。

我遇到的问题是30分钟后会话被破坏的活动。因此,如果用户在23.4小时内一直处于活动状态,那么会话应维持23.4小时,然后销毁,迫使用户再次登录,但会话在30分钟后被销毁,即使用户在30分钟内一直处于活动状态。 / p>

由于垃圾收集器会查看修改时间而不是访问时间,因此会使用time()更新会话,以便在用户在网站上执行任何操作时更新修改时间。

这是php.ini会话设置:

Directive                   Local Value     Master Value
session.cache_expire        30              30
session.cookie_lifetime     1800            1800
session.gc_divisor          1000            1000
session.gc_maxlifetime      84400           84400
session.gc_probability      1               1
session.save_handler        files           files

如果您需要任何其他会话ini设置,请告诉我。

对此的任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:3)

session.cookie_lifetime设置为30分钟,因此cookie将在30分钟后过期,它将在下一个请求(30分钟过后)后发送到服务器,并且php将发出另一个会话,因为他/她(php)没有在请求中收到它。

答案 1 :(得分:0)

  1. 请勿触摸会话默认设置。保留默认值。

  2. 使用会话本身检查会话生存期。