2

我正在玩 zen-cart,我想拥有它,以便客户会话不会在 24 分钟后过期,这似乎是默认设置。

在谷歌搜索和搜索 zen-cart 网站后,似乎没有人对此有答案(关于如何更改管理员注销会话时间的大量答案 - 我希望使用实际网站的人有更长的会话时间)。我想这可能是一个安全问题,但我现在已经调查过了,但无法弄清楚代码:

if (IS_ADMIN_FLAG === true) {
    if (!$SESS_LIFE = (SESSION_TIMEOUT_ADMIN > 900 ? 900 : SESSION_TIMEOUT_ADMIN)) {
      $SESS_LIFE = (SESSION_TIMEOUT_ADMIN > 900 ? 900 : SESSION_TIMEOUT_ADMIN);
    }
} else {
    if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
      $SESS_LIFE = 1440;
    }
}

我尝试将 1440 更改为 86400(一天),但这似乎不起作用。我不完全确定这条线

if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {

这样做!只有一个=之后。我想这是问题所在?任何人都可以启发我吗?

4

1 回答 1

0
if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
    $SESS_LIFE = 1440;
}

这从运行时配置中获取 的值 session.gc_maxlifetime,并将其设置为$SESS_LIFE.

如果 的值$SESS_LIFE为零,则执行$SESS_LIFE = 1440;


在内部更改此超时:php.ini或使用

ini_set('session.gc_maxlifetime', 86400);

或者在您的 .htaccess 中,您可以添加以下行:

php_value session.gc_maxlifetime 86400

参考:get_cfg_var ,

于 2012-11-15T12:27:49.143 回答