【问题标题】:session timeout in php code and in htaccess?php代码和htaccess中的会话超时?
【发布时间】:2016-06-26 05:44:46
【问题描述】:

我们使用什么来设置 php.ini 中的会话超时。我发现了以下内容:

ini_set(session.cookie_lifetime, 3600);
ini_set(session.gc_maxlifetime, 3600);

在 php 中设置会话超时是否正确?或者有什么办法可以在 htaccess 文件中设置超时时间?

也许这是一个简单的问题,但我真的无法得到答案,即使在 SO、Google 和 php.net 上尝试过,但没有直接的解决方案或代码。

【问题讨论】:

  • 如果我将它添加到页面顶部,那么它会每次都设置会话超时吗?
  • 请注意,这些并不能真正控制会话的生命周期(参见 How do I expire a PHP session after 30 minutes?)。
  • 我发现在 php 5.2 中,除非我在值周围添加引号,否则上述方法不起作用...即... ini_set('session.cookie_lifetime', '3600'); ini_set('session.gc_maxlifetime', '3600');

标签: php


【解决方案1】:

我已通过在我的 .htaccess 文件中添加以下代码来解决此问题。

<IfModule mod_php5.c>
    #Session timeout
    php_value session.cookie_lifetime 1200
    php_value session.gc_maxlifetime 1200
</IfModule>

谢谢!

【讨论】:

    【解决方案2】:

    您可以将生命周期值设置为0

    session.cookie_lifetime 1200

    session.cookie_lifetime 指定发送到浏览器的 cookie 的生命周期(以秒为单位)。

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

    session.gc_maxlifetime 1440

    session.gc_maxlifetime 指定数据将被视为“垃圾”并可能被清理的秒数。会话开始期间可能会发生垃圾收集

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 2013-04-21
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 2011-03-05
      相关资源
      最近更新 更多