0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 2664 Просмотров
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Привет!

Что творится с сессиями в Joomla! 3.8.x? Они вообще не уничтожаются, таблица пухнет до 200 000 тыс. записей, отчего дико начинает тормозить админка. Пришлось сделать костыль в виде события MySQL, которое вызывается раз в час и очищает сессии сроком больше часа.

Если есть уже тема, обсуждался вопрос, киньте ссылку плз.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Какая-то хрень с сессиями?
« Ответ #3 : 05.03.2018, 00:52:59 »
эм, даже не знаю чего... ну сюда кину. задайте
Цитировать
session.gc_probability=1
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Какая-то хрень с сессиями?
« Ответ #4 : 05.03.2018, 01:10:29 »
эм, даже не знаю чего... ну сюда кину. задайте

Спасибо. Это сборщик мусора, который запускается и чистит всё, что больше по "возрасту", чем значение в session.gc_maxlifetime (по умолчанию 24 мин.). Почему-то в стандартных дистрибутивах PHP для Debian отключена, хотя в PHP пишут, что должна быть включена по умолчанию. Пожалуй, обойдусь ивентом в MySQL -- иначе потом опять нужно всё менять, как баг пофиксят (из админки время жизни сессии изменить не получится).
« Последнее редактирование: 05.03.2018, 01:23:05 от Филипп Сорокин »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Какая-то хрень с сессиями?
« Ответ #5 : 05.03.2018, 01:50:39 »
насколько я понимаю это не баг, а новый принцип. из админки время жизни сессии изменить получится.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Какая-то хрень с сессиями?
« Ответ #6 : 05.03.2018, 01:53:32 »
насколько я понимаю это не баг, а новый принцип. из админки время жизни сессии изменить получится.

Какой принцип? Интересно, что им мешало сделать так?

Код
ini_set('session.gc_probability', 1);

А ещё какие-то плагины появляются для чистки сессии, клинеры, какой-то бред  ;D
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Какая-то хрень с сессиями?
« Ответ #7 : 05.03.2018, 02:03:16 »
Какой принцип?
принцип работы с удалением из базы записей о сессиях

Интересно, что им мешало сделать так?
не могу сказать :)

А ещё какие-то плагины появляются для чистки сессии, клинеры, какой-то бред 
это все от лукавого :) кто не может сделать session.gc_probability=1
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Какая-то хрень с сессиями?
« Ответ #8 : 05.03.2018, 03:04:42 »
Пошарил по инету, оказывается Joomla! имеет готовый скрипт для чистки мусора по крону, никто не юзал его? Глянул -- написано, что кэш чистит. Интересно, чистит ли сессии?
« Последнее редактирование: 05.03.2018, 03:13:48 от Филипп Сорокин »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Какая-то хрень с сессиями?
« Ответ #9 : 05.03.2018, 03:13:30 »
UPD: его только недавно внедрили: https://github.com/joomla/joomla-cms/pull/19548

Будет новый файл /cli/sessionGc.php, который можно будет дёргать по крону.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Какая-то хрень с сессиями?
« Ответ #10 : 05.03.2018, 03:38:10 »
Нашёл причину этого бардака: ссылка -- дело в том, что в Debian намеренно выключили session.gc_probability -- какая-то байда с правами. Вместо этого по крону вызывается скрипт: /etc/cron.d/php со след. содержимым:

Спойлер
[свернуть]

Теперь уже совсем ничего не понятно мне  crazy!
« Последнее редактирование: 05.03.2018, 03:43:51 от Филипп Сорокин »
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Re: Какая-то хрень с сессиями?
« Ответ #11 : 05.03.2018, 05:23:56 »
...Вместо этого по крону вызывается скрипт: /etc/cron.d/php со след. содержимым:...

Ну так он же работает

Цитировать
when session.save_handler=files

Так что повесить на крон скрипт для чистки сессий в БД - правильное решение в данном случае.

*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Какая-то хрень с сессиями?
« Ответ #12 : 05.03.2018, 05:27:59 »
Я тоже сначала подумал, что скрипт работает при определенных случаях, но если не копаться в этом и не менять дефолтный конфигурации, то он работает всегда, т.к. по умолчанию session.save_handler=files и есть.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться