OpenCart - 如何增加Admin会话超时?

时间:2012-09-12 10:50:44

标签: php session opencart

目前,OpenCart中的Admin会话大约需要30秒。我想知道是否有PHP文件或者是否有某种方法可以增加登录的超时会话?

目前我被告知这个解决方案有效,但事实并非如此:

<script type="text/javascript">
function pingServer() {
    $.ajax({ url: location.href });
}
$(document).ready(function() {
    setInterval('pingServer()', 60000);
});
</script>

此文件已放置在 admin / view / template / common / header.tpl

4 个答案:

答案 0 :(得分:4)

这很可能只需更改session.gc_maxlifetime的值即可解决。您可以通过.htaccess,php.ini或甚至在您的脚本本身(session_start()之前)

进行更改

答案 1 :(得分:4)

我遇到了与客户相同的问题,并使用了上述建议,因为更改session.gc_maxlifetime无效。如果用户使用上述方法打开管理页面,它将永远不会超时,所以我建议添加超时以消除间隔:

(function($) {
  var interval = setInterval(pingServer, 60000);

  function pingServer() {
      $.ajax({ url: location.href });
  }

  setTimeout(function() {
    clearInterval(interval);
  }, 1440000);
})(jQuery);

答案 2 :(得分:1)

我认为这样可行,正如用户所说,这是您可以在PHP和PHP.ini中进行的正常设置

如果您不能使用此功能,请尝试编辑您调用的网址

<script type="text/javascript">
function pingServer() {
    $.ajax({ url: "/ping.php" });
}
$(document).ready(function() {
    setInterval('pingServer()', 60000);
});
</script>

在ping.php文件中你有。

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

强制PHP更新服务器端会话cookie。

这也可以是OpenCart设置中的miss配置?

答案 3 :(得分:0)

对于opencart 1.5.x,只需打开/system/library/session.php并添加此行

ini_set('session.gc_maxlifetime',5400);//90 minute