Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов

Uri::root() и
Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки
--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено
https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр
$live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида

{YOUTUBE}...{/YOUTUBE},
{MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов
{YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".
Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
С некоторых пор, перестала очищаться таблица сессий _session
Перенёс на локальный сервер, то же самое, жду пол часа, ~ 22480 записей никуда не деваются.
~
Зашёл в настройки, Общие сессии = Да

По идее, все ссесии должны быть аннулированы, и наверно удалены из базы

Но ничего подобного, значение иногда меняется, так как phpMyAdmin выдаёт приблизительное значение

Кто то сталкивался ?

P.S.
Вариант№1

Добавить в cron, например 1 в сутки, в час найменьших посещений (если есть регистрация)

Код
<?php
$link = mysql_connect('localhost', 'пользователь', 'пароль');
$rv = mysql_select_db('база', $link);
$sql = "TRUNCATE TABLE `таблица`";
mysql_query($sql);
?>

Вариант№2

Изменить в php.ini

session.gc_probability=1
session.gc_divisor=100
Цитировать
если вам достаточно 24 минуты то да, можете оставить как есть. зависит от потребностей. корзина в интернет магазине имхо не очень если так быстро сбрасываться будет. а если это просто блог - то с головой
session.gc_maxlifetime = 1440

Вариант№3

plg_easysessionkiller

« Последнее редактирование: 20.02.2018, 21:37:14 от palexa »
*

dmitry_stas

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

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Спасибо добрый человек, а то я уже весь сайт перелопатил
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Версия Joomla!    Joomla! 3.8.5 Stable - я так понял эту проблему не решили, и откатываться не хочется из копии
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Версия Joomla!    Joomla! 3.8.5 Stable - я так понял эту проблему не решили, и откатываться не хочется из копии
Сколько стоит время жизни сессии в настройках системы?
*

dmitry_stas

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

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
вопрос не по теме, но раз уж разговор о сессиях, хочу спросить, создают ли новые сессии роботы и им подобные ? А то странно, по счётчику за сутки 300 посетителей и 500 просмотров, а сессий более 1500
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Цитировать
создают ли новые сессии роботы и им подобные ?

Создают.

Какова дата самой ранней сессии?

Код: msql
SELECT * FROM `префикс_session` ORDER BY time ASC LIMIT 1

То, что отобразится в time конвертировать здесь:

http://www.onlineconversion.com/unix_time.htm
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Спасибо,  я уже удалил руками все сесси
Но спасибо за подсказку как посмотреть дату
*

samell79

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • https://4in.ru/
С некоторых пор, перестала очищаться таблица сессий _session

По идее, все ссесии должны быть аннулированы, и наверно удалены из базы

Но ничего подобного, значение иногда меняется, так как phpMyAdmin выдаёт приблизительное значение

Кто то сталкивался ?



У меня то же самое, таблица базы данных _session, стала быстро увеличиваться ~ 400 мб за сутки и не очищается. Случилось при обновлении с 3.8.3 до 3.8.5. Решения не знаю, пока очищаю руками
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
попробуйте repair сделать этой таблице в phpMyAdmin.

если не поможет то это

https://github.com/joomla/joomla-cms/pull/19548
« Последнее редактирование: 14.02.2018, 18:37:21 от capricorn »
*

samell79

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • https://4in.ru/
попробуйте repair сделать этой таблице в phpMyAdmin.



_session    repair    note    Обработчик таблицы не поддерживает этого: repair
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
что-то не совсем понятен роадмэп с очисткой сессий.
чистку отменили, а чего дальше делать - не придумали.
https://forum.joomla.org/viewtopic.php?f=9&t=958979&p=3512954#p3512954
хотят свесить на бедных юзверей, чтобы кроны писали под это дело, а юзвери к такой не барской работе не привыкши.
так что у кого все плохо - чешем репу и ручками вычищаем, не факт, что это решится в ближайших обновах.
*

samell79

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • https://4in.ru/
На оф форуме, предлагают:

Сообщение от layer8 » Пн фев 12, 2018 5:23

Если таблица сеансов огромна, а ваш сайт медленный после обновления до J.3.8.5, вам просто нужно перейти к вашей конфигурации PHP и установить session.gc_probability на 1

Поставил session.gc_probability на 1 - не работает, мусор накапливается и остается в базе. Только после истечения сессии заново входишь в админку.

С первых версии joomla 1.5 ни когда не видел такого, - база за 1 день с 20 мб, вырастает до 400 мб!
Явно разработчик накосячил!!!

Вот крон чистит кэш компонента:
rm -r /home/admin/web/сайт.ru/public_html/cache/com_компонент
Подскажите, какой командой очистить таблицу _session через крон? Сервер Debian 8.10

« Последнее редактирование: 14.02.2018, 19:40:57 от samell79 »
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Для сессий ещё не пробовал, так что только возможный пример

У себя на сайте я писал "удаляем старые записи из БД MySQL"

В низу статьи код
Можно сделать по аналогии и поставить в крон

*

dmitry_stas

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

dmitry_stas

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

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
ну они не совсем отменили, просто на некоторых хостах проблемы. как говоря вероятность таких хостов стремится к 0 :) я так и наблюдаю :)
То есть Вы хотите сказать, что таблица не чистится только у некоторых хостеров ?

Как интересно выбирать хостера по этому критерию?

Ну а если это в ближайшем будущем не исправят, что написать хостеру, что бы он сам исправил ситуацию ?

Потому что писать задания в крон, это уже слишком муторно
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Подскажите, какой командой очистить таблицу _session через крон? Сервер Debian 8.10

<?php
$link = mysql_connect('localhost', 'пользователь', 'пароль');
$rv = mysql_select_db('база', $link);
$sql = "TRUNCATE TABLE `таблица`";
mysql_query($sql);
?>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
То есть Вы хотите сказать, что таблица не чистится только у некоторых хостеров ?
да

Как интересно выбирать хостера по этому критерию?

Ну а если это в ближайшем будущем не исправят, что написать хостеру, что бы он сам исправил ситуацию ?
напишите чтобы выставил
Код
session.gc_probability=1
session.gc_divisor=100
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Вы выше ещё писали про session.gc_maxlifetime

Какой там параметр должен быть?

Сейчас у меня стоит
session.gc_maxlifetime = 1440
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Какой там параметр должен быть?

все индивидуально, смотря сколько вам нужно.

Цитировать
session.gc_maxlifetime задает отсрочку времени в секундах, после которой данные будут рассматриваться как "мусор" и потенциально будут удалены

1440 это соответственно 24 минуты
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
то есть, оставить как есть ?

спасибо
*

dmitry_stas

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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Кстати аналогичный трабл, сайт на последней 3.8.5, посетителей в день ну не больше 200-300 уников, таблица сессий забилась на 8500 записей.
Время жизни сесии 15 минут, кеширование отключено.
Записи по времени в таблице сессий (таймстапм) от 1518463916 до 1518625211 (12 февраля 2018 г., 23:31:56 - 14 февраля 2018 г., 20:20:11)

Сравнил таблицы сессий в 3.8.5 и 2.5 - там разная информация в поле data
в 2.5 идет json
Код
__default|a:7:{s:15:"session.counter";i:2;s:19:"session.timer.start";i:1518637010;s:18:"session.timer.last";i:1518637010;s:17:"session.timer.now";i:1518637012;s:8:"registry";O:9:"JRegistry":1:{s:7:"
в последней же нечто непонятное однотипное
Код
joomla|s:772:"TzoyNDoiSm9vbWxhXFJlZ2lzdHJ5XFJlZ2lzdHJ5IjozOntzOjc6IgAqAGRhdGEiO086ODoic3RkQ2xhc3MiOjE6e3M6OToiX19kZWZhdWx0IjtPOjg6InN0ZENsYXNzIjo0OntzOjc6InNlc3Npb24iO086ODoic3RkQ2xhc3MiOjI6e3M6NzoiY291bnRlciI7aToxO3M6NToidGltZXIiO086ODoic3RkQ2xhc3MiOjM6e3M6NToic3RhcnQiO2k6MTUxODQ1OTYyNTtzOjQ6Imxhc3QiO2k6MTUxODQ1OTYyNTtzOjM6Im5vdyI7aToxNTE4NDU5NjI1O319czo4OiJyZWdpc3RyeSI7TzoyNDoiSm9vbWxhXFJlZ2lzdHJ5XFJlZ2lzdHJ5IjozOntzOjc6IgAqAGRhdGEiO086ODoic3RkQ2xhc3MiOjA6e31zOjE0OiIAKgBpbml0aWFsaXplZCI7YjowO3M6OToic2VwYXJhdG9yIjtzOjE6Ii4iO31zOjQ6InVzZXIiO086MjA6Ikpvb21sYVxDTVNcVXNlclxVc2VyIjoxOntzOjI6ImlkIjtpOjA7fXM6MjU6InBsZ19zeXN0ZW1fbGFuZ3VhZ2VmaWx0ZXIiO086ODoic3RkQ2xhc3MiOjE6e3M6ODoibGFuZ3VhZ2UiO3M6NToicnUtUlUiO319fXM6MTQ6IgAqAGluaXRpYWxpemVkIjtiOjA7czo5OiJzZXBhcmF0b3IiO3M6MToiLiI7fQ==";
« Последнее редактирование: 14.02.2018, 22:40:58 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
 ;D спасибо, поправил php.ini

ХМ

session.gc_probability
Значение по умолчанию: 1
а стояло 0

session.gc_divisor
Значение по умолчанию: 100
а стояло 1000

Ну погляжу что будет
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
ну они не совсем отменили, просто на некоторых хостах проблемы. как говоря вероятность таких хостов стремится к 0 :) я так и наблюдаю :)
Думаю что админы сайтов ещё не все очухались, потому что не думаю, что постоянно проверяют размер БД

Я, например случайно заметил

Ну а так спасибо, главное что есть два решения в теме, крон и php.ini
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
session.gc_probability
Значение по умолчанию: 1
а стояло 0

session.gc_divisor
Значение по умолчанию: 100
а стояло 1000
сразу видно ISP Manager :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
сразу видно ISP Manager :)

А мне нравиться ISP Manager, привык наверно  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 518
Последний ответ 25.05.2025, 09:26:17
от azm1n
Перестала работать почта на всех сайтах

Автор svarg

Ответов: 5
Просмотров: 1107
Последний ответ 23.02.2024, 22:05:51
от Vastriet
Глюк с сохранением сессий

Автор web1

Ответов: 0
Просмотров: 571
Последний ответ 20.11.2023, 12:30:52
от web1
Убрать код AdSense с некоторых страниц на Joomla 3.10.5 (PHP 7.4)

Автор kdramao1

Ответов: 1
Просмотров: 688
Последний ответ 03.02.2022, 14:29:32
от draff
OSMap перестала работать есть код ошибки

Автор yasna

Ответов: 7
Просмотров: 1173
Последний ответ 23.10.2021, 17:42:11
от Kostelano