关闭前端的Joomla系统会话

时间:2011-02-12 14:25:38

标签: caching joomla

我在共享服务器上有一个受欢迎的joomla网站(4000 /天)。我有性能问题。我想在前端禁用joomla系统会话,所以我把这一行带到index.php:

$mainframe =& JFactory::getApplication('site',array('session'=>false));

它适用于客人,但有副作用。这真的很奇怪,但是当我以注册用户身份登录并打开调试模式时,我觉得joomla模块缓存不起作用。

我该如何解决?

2 个答案:

答案 0 :(得分:1)

简单的答案是为登录用户重新开启会话。

$user =& JFactory::getUser();
if ($user->guest) {
  $mainframe =& JFactory::getApplication('site',array('session'=>false));
}

答案 1 :(得分:0)

如果查看核心joomla插件中的代码--plugin / system / cache.php,您将看到它只会缓存未经过身份验证的用户页面,您可以更改为允许缓存已登录的用户页面,但这可能会产生不利的副作用,即所有用户都会看到最后登录的人员缓存页面,其中可能包含敏感信息。

需要一个更自定义的缓存解决方案来防止发生这种事情