Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 2025 Просмотров
*

foller10560

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
после обновления до Joomla 3 выдает ошибку в панель управления не зайти пишет:
Fatal error: Call to undefined method Joomla\Registry\Registry::getValue() in /home/users/domains/components/com_jcomments/libraries/joomlatune/joomla/jversion.php on line 35
направте на путь где искать что делать?
*

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Версия JComments какая стоит?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jcomments & Joomla 3.5 & PHP 7

Автор ProtectYourSite

Ответов: 11
Просмотров: 8289
Последний ответ 15.01.2024, 14:02:36
от Vastriet
Не отображаються комментарии на дополнительных языках Joomla 3.4.8 + Jcomments 3.0.5

Автор orsy

Ответов: 11
Просмотров: 5984
Последний ответ 20.12.2021, 15:44:35
от igorsuccess
Не работает модуль 3.07 на Joomla 3.9 по https (Mixed Content)

Автор boot

Ответов: 7
Просмотров: 3871
Последний ответ 14.08.2020, 12:10:28
от voland
Undefined offset и другие ошибки после действий хостера

Автор Borserg

Ответов: 4
Просмотров: 3151
Последний ответ 14.11.2019, 16:17:41
от wishlight
Ошибка: Call to undefined method Joomla\CMS\Document\RawDocument::getHeadData()

Автор orsy

Ответов: 1
Просмотров: 7515
Последний ответ 30.12.2018, 08:31:36
от draff