我正在使用zen-cart,我想拥有它以便客户会话在24分钟后不会过期,这似乎是默认的。
在Google搜索和浏览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')) {
做到了!并且只有一个=之后。我想这是问题所在?谁能开导我?
答案 0 :(得分: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
,