【问题标题】:OpenCart - How do you increase the Admin session timeout?OpenCart - 你如何增加管理员会话超时?
【发布时间】:2012-09-05 09:03:23
【问题描述】:

目前 OpenCart 中的管理员会话大约需要 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

【问题讨论】:

  • 这可能是您的托管服务提供商的问题。联系他们询问他们是否可以增加,如果您使用该软件,您也可以在cPanel中进行配置。
  • 我使用 NGinx - 我通过 Rackspace 对我的云服务器拥有完全的 root 访问权限。它是专用的 - 我们自己管理 ubuntu php fast-fpm 服务器。

标签: php session opencart


【解决方案1】:

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

如果你不能使用这个尝试编辑你调用的 URL

<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 设置中的缺失配置?

【讨论】:

  • 也谢谢你。我有这个,还有 .php ini 编辑。
【解决方案2】:

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

【讨论】:

  • 我使用 NGinx 怎么办?我通过 Rackspace 对我的云服务器拥有完全的 root 访问权限。
  • 好吧,如果你想全局设置超时,只需找到你的 php.ini 文件(执行 phpinfo() 以显示应该显示 php.ini 路径的当前配置)。然后编辑您的 php.ini 文件,将值设置为您想要的数字(以秒为单位,因此一天将是 86400)。然后保存并重新启动您的 http 服务器,就可以了
【解决方案3】:

我的客户也遇到了同样的问题,并使用了上述建议,因为更改 session.gc_maxlifetime 不起作用。如果用户使用上述方法打开管理页面,它永远不会超时,所以我建议添加一个超时来终止间隔:

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

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

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

【讨论】:

  • 你在哪里添加这个脚本?
【解决方案4】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-27
    • 2012-01-29
    • 2018-06-05
    • 1970-01-01
    • 2017-04-01
    • 2011-01-22
    • 2015-05-30
    • 2014-03-26
    相关资源
    最近更新 更多