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

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Перенесли сайт на новый хостинг Таймвеб - ошибка 500
Админка с главной страницы не запускается, а перейдя по внутренней ссылке в меню Joomla - загружается, например: administrator/index.php?option=com_content
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
смотрите логи на сервере. возможно, стали валиться ошибки, если версия PHP на новом хостинге новее
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Версия php была 5,3, я попросил поменять на 7,2 - ничего не поменялось,
Логи доступа и ошибок для сайта:
/var/www/......_ru_usr/data/logs
Логи доступа и ошибок веб-сервера Apache:
/var/log/apache2
Логи доступа и ошибок веб-сервера nginx:
/var/log/nginx
Какие логи давать?
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
PHP Info:
Спойлер
[свернуть]
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Версия php была 5,3, я попросил поменять на 7,2 - ничего не поменялось,
А на старом хостинге какая версия была?

Доги нгинкс/апач смотрите где в последних строках стоит текущее время (время последнего обновления страницы) и отмечено как [error] или [warning]
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Apache: error.log
Спойлер
[свернуть]
Nginx: parking.access.log
Спойлер
[свернуть]
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Похоже, что апач у вас просто не(до)настроен. попробуйте в корне сайта создать файл test.php с содержимым:
Код
<?php
phpinfo();
и перейдите на него из браузера.
если снова будет 500, то точно виноват ненастроенный сервер. а если покажет инфу о PHP, то тогда уже смотреть дальше. проверять наличие библиотек, которые нужны для Joomla и остальное. но, скорее всего, проблема именно с версией PHP. чтоб Joomla 1.5 нормально работала - ей надо PHP не выше 5.2
сейчас такое уже найти сложно у хостеров, поэтому со старыми сайтами приходится возиться и переправлять под новый PHP.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Показывает инфу по PHP, уточняю установку php 5.2
« Последнее редактирование: 13.08.2022, 21:36:49 от Ecspert »
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Здравствуйте.

Версия PHP 5.2 недоступна на вашем сервере и панели FastPanel, самая минимальная 5.3.
Эта версия есть в панели ISPmanager (платная лицензия) https://timeweb.com/ru/help/pages/viewpage.action?pageId=10289564
Если потребуется перенос на новый сервер с панелью ISPmanager, сообщите.
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Вот потому и говорю, что уже трудно найти хостера с 5.2 - эта версия считается очень дырявой. Ставьте минимальную из возможных и правьте ошибки PHP из лога. А если сайт небольшой, то может быть проще переписать его под новый движок.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Спросил на старом хостинге где работал сайт, сказали php5,6
*

Ecspert

  • Захожу иногда
  • 426
  • 12 / 0
Нашел, дело было в sh404SEF
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться