【问题标题】:Session Time out in PHP or ProcessmakerPHP 或 Processmaker 中的会话超时
【发布时间】:2013-01-23 22:33:42
【问题描述】:

如何在 php 或 processmaker(BPM) 中进行会话超时?

我参考了大多数论坛和 wiki,但这并没有解决我的问题。

请告诉我。

【问题讨论】:

    标签: php session


    【解决方案1】:

    在 ProcessMaker 上,您必须更改 php.ini 上的以下参数才能修改会话超时

    • session.gc_maxlifetime
    • session.cache_expire
    • session.cache_limiter

    这适用于版本 2.5RC1 (Release Candidate),该版本可在 ProcessMaker sourceforge page 上下载

    希望这对你也有帮助。

    【讨论】:

      【解决方案2】:

      存储用户上次发出请求的时间

      <?php
        $_SESSION['timeout'] = time();
      ?>
      

      在随后的请求中,检查他们之前的请求是多久前提出的(本例中为 10 分钟)

      <?php
        if ($_SESSION['timeout'] + 10 * 60 < time()) {
           // session timed out
        } else {
           // session ok
        }
      ?>
      

      摘自here

      【讨论】:

        【解决方案3】:

        这在上一篇文章中有很好的解释。 见下方链接PHP Session timeout

        How do I expire a PHP session after 30 minutes?

        【讨论】:

          【解决方案4】:

          在您的 php 脚本的开头包含此代码:

          <?php
          
             if(!isset($_SESSION)){@session_start();}
          
          
             if (isset($_SESSION['timeout']) and $_SESSION['timeout'] + 1800 < time()) { 
          
                session_unset();
                session_destroy();
          
             } else {
          
                $_SESSION['timeout'] = time();      
          
             }
          
          ?>
          

          第一行检查是否有会话,如果没有会话则创建它。

          session_start() 前面的@ 符号是为了抑制 session_start() 可能抛出的任何警告或通知。这段代码没有什么重要的,你可以删除它。

          下一行检查 $_SESSION['timeout'] 变量是否存在,以及它是否包含从当前时间到过去 30 分钟以上的值。

          第一次运行脚本时它不会存在,所以如果你在它不存在时检查它的值,如果在你的 php.ini 文件中启用了它,它会给你一个通知或警告消息。

          如果它不存在,我们跳到 else 并创建它,然后添加当前 time()。

          现在 1800 的值是以秒为单位的 30 分钟。 30 * 60 是另一种常用的写法,以便于阅读。

          如果 if 为真,则用户已超过 30 分钟处于非活动状态。如果小于 30 分钟或脚本第一次运行,则会跳到 else 并更新 timeout 变量。

          【讨论】:

            猜你喜欢
            • 2011-03-05
            • 2011-10-17
            • 1970-01-01
            • 2010-12-11
            • 2013-02-18
            • 1970-01-01
            相关资源
            最近更新 更多