如何将会话生存期设置为无限

时间:2014-04-22 13:48:24

标签: php session cookies

如何将会话生命周期设置为无限?有一个设置session.cookie_lifetime,但我无法找到设置无限生命周期所需的值。我试过0但是一旦浏览器关闭它就会过期。

ini_set('session.cookie_lifetime', 0);

3 个答案:

答案 0 :(得分:5)

也许您可以尝试将到期时间设置为非常大的值? :)

根据我对这个主题的看法,你需要的不仅仅是你在问题中所写的那一行,如下所示:

//set cookie lifetime for 100 days (60sec * 60mins * 24hours * 100days)
ini_set('session.cookie_lifetime', 60 * 60 * 24 * 100);
ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 100);
//maybe you want to precise the save path as well
ini_set('session.save_path', '/home/yoursite/sessions');
//then start the session
session_start();
祝你好运!

答案 1 :(得分:1)

manual中说:

  

值0表示"直到浏览器关闭。"默认为0.

答案 2 :(得分:0)

session.gc_maxlifetime是控制服务器会话中存储的数据保持有效时间的值($_SESSION字典是您访问数据的方式。)值session.cookie_lifetime控制如何只要浏览器Cookie中的数据有效(值0表示“直到关闭浏览器”)。

由于最初的问题是关于如何使会话无限有效的,所以确切的答案是将session.gc_probability值更改为0,这意味着垃圾回收器将永不被调用。 (当然,请确保这是您真正想要做的。)

这些值也可以在php.ini中设置。

session.gc_probability reference

希望这会有所帮助。