【问题标题】:How to set session lifetime as infinite如何将会话生命周期设置为无限
【发布时间】:2014-04-22 13:48:23
【问题描述】:

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

ini_set('session.cookie_lifetime', 0);

【问题讨论】:

  • 你想解决什么问题需要这么长的会话生命周期?

标签: php session cookies


【解决方案1】:

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

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

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

session.gc_probability reference

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    manual中是这样说的:

    值 0 表示“直到浏览器关闭”。默认为 0。

    【讨论】:

      【解决方案3】:

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

      根据我对这个问题的看法,你需要的不仅仅是你在问题中写的那行,像这样:

      //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();
      

      祝你好运!

      【讨论】:

      • 这仅用于cookies? o 也是 $_SESSION?
      猜你喜欢
      • 1970-01-01
      • 2011-09-15
      • 2015-07-09
      • 2017-11-08
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 2012-05-07
      • 2015-07-03
      相关资源
      最近更新 更多