Выключите системную сессию Joomla на переднем конце - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть популярный сайт Joomla (4000 / день) на общем сервере. У меня проблемы с производительностью. Я хочу отключить системный сеанс joomla на внешнем интерфейсе, поэтому я перенесу эту строку в index.php:

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

Хорошо работает для гостей, но имеет побочный эффект. Это действительно странно, но когда я вошел в систему как зарегистрированный пользователь и включил режим отладки, я обнаружил, что кэширование модуля joomla не работает.

Как мне это решить?

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

Простой ответ - снова включить сеансы для зарегистрированных пользователей.

$user =& JFactory::getUser();
if ($user->guest) {
  $mainframe =& JFactory::getApplication('site',array('session'=>false));
}
0 голосов
/ 03 апреля 2011

Если вы посмотрите на код в основном плагине joomla - plugin / system / cache.php, вы увидите, что он будет кэшировать только не аутентифицированные пользовательские страницы, вы можете изменить его, чтобы разрешить кэширование зарегистрированных пользователей. но это может иметь неблагоприятные побочные эффекты, т. е. все пользователи, видящие последнюю зашедшую в систему страницу кэшированных лиц, могут содержать конфиденциальную информацию.

Чтобы предотвратить подобные вещи, потребовалось бы более нестандартное решение для кэширования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...