Новости 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 Ответов
  • 3909 Просмотров
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Доброго дня, поставил Денвер и ковыряюсь на нём с Joomla 3.6. Возникла проблема редактировать ID материалов и надо было попасть в БД. Не могу этого сделать - http://localhost/Tools/phpMyAdmin  отдаёт   The requested URL /Tools/phpMyAdmin was not found on this server, http://localhost/denwer/Tools/addmuser/index.php тут можно только добавить пользователя и БД. Как до имеющейся базы в phpMyAdmin добраться? Она ведь существует ;D. Проблема.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Не могу зайти в phpMyAdmin на Денвере
« Ответ #1 : 14.01.2017, 14:41:18 »
Папка \localhost\www\Tools\phpmyadmin физически то существует?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Не могу зайти в phpMyAdmin на Денвере
« Ответ #2 : 14.01.2017, 16:59:24 »
Ну запускается сайт-то на Денвере, по Total глянул usr\local\mysql-5,5\data\joomla3 по ходу эта БД usr\local\mysql-5,5\data\phpmyadmin тут вроде Admin, но не могу зайти.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Не могу зайти в phpMyAdmin на Денвере
« Ответ #3 : 14.01.2017, 17:00:28 »
При чем тут сайт? Я говорю что в папке localhost денвера в WWW каталог для пхпадмина то сам по себе присутствует?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Не могу зайти в phpMyAdmin на Денвере
« Ответ #4 : 14.01.2017, 17:06:21 »
нет, там только сам сайт, пхпадмин есть usr\local\mysql-5,5\data\phpmyadmin почему-то. Нельзя перенести? На флешке старый Денвер, всё иначе, там в localhost пхпадмин.... А нельзя узнать, откуда БД подключается?
« Последнее редактирование: 14.01.2017, 17:13:26 от Zegeberg »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Не могу зайти в phpMyAdmin на Денвере
« Ответ #5 : 14.01.2017, 22:15:38 »
usr\local\mysql-5,5\data\phpmyadmin - это база пхпадмина, а сам его сайт (скрипты) удалены.
С флешки перекинуть папку пхпадмина в нужное место по аналогии с старой версией денвера и будет работать
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
Re: Не могу зайти в phpMyAdmin на Денвере
« Ответ #6 : 14.01.2017, 22:43:13 »
Так и сделал, всё работает, чего сразу криво стало вопрос. Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу войти на локалку

Автор alekckim

Ответов: 3
Просмотров: 1723
Последний ответ 18.11.2023, 09:18:10
от alekckim
Пропала база данных в phpMyAdmin

Автор kazbec

Ответов: 3
Просмотров: 1425
Последний ответ 16.11.2023, 22:59:54
от Vastriet
Не могу обновить Joomla 2.5.28 до 3 или 4 версии

Автор esparce

Ответов: 1
Просмотров: 1182
Последний ответ 19.09.2023, 07:55:40
от Vastriet
Не могу ничего скачать с Joomla.org

Автор Mnojitell

Ответов: 2
Просмотров: 1592
Последний ответ 28.11.2022, 13:33:28
от Mnojitell
Не зайти в администратор сайта после обновления

Автор paprika_91

Ответов: 6
Просмотров: 1069
Последний ответ 17.10.2022, 17:47:17
от marksetter