当前位置:首页 > CMS教程 > ecshop > 列表

ecshop后台登录超时session过期的解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2013-12-07 21:56:07 浏览: 评论:0 

可能有不少用户会发现自己的ecshop经常会使用关就超时了,这个问题解决办法有很多种,我们可以直接在ecsho中进行修改,具体方法如下,在includescls_session.php中修改

  1. var $max_life_time = 1440; 
  2. // SESSION 过期时间、单位秒这段代码中的数字。此数字单位为秒,前台登录和后台登陆都是调用这里设置的时间。 

关于在后台编辑产品经常由于时间长而超时,可以在登录的时候,勾起“请保存我这次登录信息”就可以不提示超时了,或者直接修改admintemplateslogin.html,,让页面默认选中这一项!现在的新版本,对安全打高了一些,几乎是5分钟没有操作后台就重新登陆,有没有办法可以改掉因为只有3分钟,所以我们往往在录入过程中就超时了,所以我们需要增加超时时间,修改方法如下:

  1. includes/init.php 
  2. api/init.php 
  3. admin/includes/init.php 
  4. wap/includes/init.php 

在以上这几个文件中,找到下面的代码:

@ini_set(’session.cache_expire’, 180);//单位秒

当然除了上面方法我们还可以修改php配置文件来操作了,继续PHP中的Session话题,在PHP中主要通过设置session.gc_maxlifetime来设定Session的生存周期。例如:

  1. <?php 
  2. ini_set('session.gc_maxlifetime', 3600); //设置时间 
  3.  ini_get('session.gc_maxlifetime');//得到ini中设定值 
  4. ?> 

下面提供一个别人封装好的函数,但是我没有测试过,仅供参考:

  1. <?php 
  2.     function start_session($expire = 0) 
  3.     { 
  4.     if ($expire == 0) { 
  5.     $expire = ini_get('session.gc_maxlifetime'); 
  6.     } else { 
  7.     ini_set('session.gc_maxlifetime'$expire); 
  8.     } 
  9.       
  10.     if (emptyempty($_COOKIE['PHPSESSID'])) { 
  11.     session_set_cookie_params($expire); 
  12.     session_start(); 
  13.     } else { 
  14.     session_start(); 
  15.     setcookie('PHPSESSID', session_id(), time() + $expire); 
  16.     } 
  17.     } 
  18.     ?> 

使用方法:加入start_session(600);//600秒以后过期。

Tags: ecshop 后台 登录超时 session过期

分享到: