2013-02-08 34 views

回答

1

存儲最後一次用戶提出的要求

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

在隨後的請求,檢查多久前,他們做了他們以前的請求(在這個例子中10分鐘)

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

here提取

0

鏈接包含這些代碼在你的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 [「超時」]變量存在,如果它包含一個值在從當前時間過去30分鐘以上。

第一次運行就不會存在,所以,如果你檢查它的價值腳本時不存在,如果這是你的php.ini文件中啓用它會給你一個通知或警告消息。

如果它不存在,我們跳到別的並將其創建的,我們添加當前時間()。

現在1800的值是30秒鐘。 30 * 60是另一種常用的書寫方式,以便於閱讀。

如果if爲true,則用戶已停用超過30分鐘。如果小於30分鐘或者腳本第一次運行,它將跳到else並更新超時變量。

2

在ProcessMaker你必須以修改會話時間來改變你的的php.ini以下參數進行

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

這將從2版工作。5RC1(Release Candidate)這是可供下載的ProcessMaker sourceforge page

希望這也可以幫助你。