Новости 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 можно из объекта приложения

<?php protected function doExecute(InputInterface $input, OutputInterface $output): int { //... $live_site = $this->getApplication()->get('live_site'); //... }

и исходя из этого строить дальнейшую логику.

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

D.E.

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
Здравствуйте, дорогие форумчане.
Давно здесь не был. Но вот сложилась совсем непонятная ситуация.

Есть сайт http://intex-kzn.ru/statyi (делал давно, сейчас обновлял шаблон). Так вот, все старые материалы открываются нормально http://intex-kzn.ru/statyi/gidronozhnitsy-effektivnoe-oborudovanie-dlya-demontazha-zdanij, но если добавить новые, то получаю ошибку 404  http://intex-kzn.ru/statyi/gidromolot. Ставил старый шаблон, ситуация та же. Выключал ЧПУ, всё открывается. Снова включил, новые/обновленные не открываются. Чистил кэш браузера и движка. Проверял и менял .htaccess. Ничего не решает проблему.
Что ещё может быть?
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: 404 только для новых материалов
« Ответ #1 : 05.11.2014, 21:15:15 »
меню перестроить пробовали?
*

D.E.

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
Re: 404 только для новых материалов
« Ответ #2 : 05.11.2014, 21:21:57 »
В смысле перестроить?
Пробовал опубликовывать новые записи в разных категориях, разных меню  и разных типах меню. Всё равно 404.
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: 404 только для новых материалов
« Ответ #3 : 05.11.2014, 21:38:19 »
имел в виду в Менеджере меню кнопка Перестроить
*

D.E.

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
Re: 404 только для новых материалов
« Ответ #4 : 06.11.2014, 12:05:23 »
Тоже не помогает...
*

D.E.

  • Осваиваюсь на форуме
  • 44
  • 1 / 0
Re: 404 только для новых материалов
« Ответ #5 : 06.11.2014, 13:19:14 »
Нашел паразита.

Достал старую (год давности) версию сайта, благо она чудом сохранилась в одной из папок. Произвел эксперимент с полным отключением кэша браузера.
1. Поставил старую базу на новый сайт и новую на старый. Выяснилось, что проблема была не в базе.
2. Заменой по 2 папки новых на 2 соответствующие папки бэкапа, выяснил что проблема в com_content. В нём, таким же способом нашел проблему в файле router.php.
3. Через notepad++ с помощью плагина compare сравнил старый и новый файл и выяснилось, что виной всему строка 226.

Нерабочий вариант строки выглядел if ($count == 1) {
Рабочий выглядит if ($count == 1 && !$advanced) {

Вывод.
По всей видимости виной всему стало обновление версии сайта до последней. Обновлял, относительно, давно, но после этого не перепроверял все статьи и не добавлял новые, в итоге и не видел данной ошибки. В очередной раз убеждаюсь, что Jooml'у лучше не трогать, если она работает, иначе можно потерять пару дней на поиски решения.
*

G_islam05

  • Новичок
  • 2
  • 0 / 0
Re: 404 только для новых материалов
« Ответ #6 : 25.11.2017, 09:25:39 »
Нашел паразита.

Достал старую (год давности) версию сайта, благо она чудом сохранилась в одной из папок. Произвел эксперимент с полным отключением кэша браузера.
1. Поставил старую базу на новый сайт и новую на старый. Выяснилось, что проблема была не в базе.
2. Заменой по 2 папки новых на 2 соответствующие папки бэкапа, выяснил что проблема в com_content. В нём, таким же способом нашел проблему в файле router.php.
3. Через notepad++ с помощью плагина compare сравнил старый и новый файл и выяснилось, что виной всему строка 226.

Нерабочий вариант строки выглядел if ($count == 1) {
Рабочий выглядит if ($count == 1 && !$advanced) {

Вывод.
По всей видимости виной всему стало обновление версии сайта до последней. Обновлял, относительно, давно, но после этого не перепроверял все статьи и не добавлял новые, в итоге и не видел данной ошибки. В очередной раз убеждаюсь, что Jooml'у лучше не трогать, если она работает, иначе можно потерять пару дней на поиски решения.

Ничего не понял. Можно подробнее?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 2984
Последний ответ 12.07.2020, 12:46:06
от NataliS
Как обрезать.html только на нужных страницах?

Автор Owl1981

Ответов: 4
Просмотров: 1009
Последний ответ 13.02.2019, 18:07:50
от Owl1981
Вывод контента com_content материалов и категорий по id. Решение

Автор Fedor Vlasenko

Ответов: 16
Просмотров: 22682
Последний ответ 01.10.2018, 14:32:38
от Fedor Vlasenko
Как сделать счета накладные или только заказ в пдф?

Автор master-dors

Ответов: 0
Просмотров: 1305
Последний ответ 06.04.2018, 18:33:36
от master-dors
Вывод определенных материалов на главной

Автор JustRe1ax

Ответов: 4
Просмотров: 1597
Последний ответ 08.12.2017, 11:21:47
от JustRe1ax