Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

Lovenokia

  • Захожу иногда
  • 108
  • 0 / 0
Друзья, помогите, пожалуйста, разобраться. *ОХ-Х-Х*

Описываю ситуацию.
Сайт нормально работал, потреблял около 60% отведенных хостингом ресурсов (без кэширования).
Пришло письмо счастья, что нагрузка на сервер выросла на 64%. Посещаемость не изменилась, никаких изменений я на сайт также не вносил. Решил подождать пару дней, но ситуация не изменилась.
Чтобы не превышать нагрузку на CPU, включил кэширование.

Прошло 6 дней, ничего не изменилось, повышенная нагрузка сохраняется.

Скрин с параметрами нагрузки: https://ibb.co/px35CfD

По скрину:
1. Повышение нагрузки произошло из-за повышения количества запросов.
2. Зеленым выделена область до повышения нагрузки, красным - после.
3. 5 февраля включил кэширование, но запросы не уменьшились.
4. Самое главное. Обратите внимание, количество запросов выросло в 2 раза, независимо от дня недели. То есть если в субботу обычно около 40к запросов, то стало около 80к (выделил цифрой 1), в пятницу около 54к, стало 116к (выделил цифрой 2) и т.д.
То есть нагрузка повысилась пропорционально прежней посещаемости примерно в 2 раза. Эта пропорциональность кажется мне странной.
5. В cPanel посмотрел отчеты до и после изменения количества запросов и увидел, что самые посещаемые страницы стали: /index.php и /administrator/index.php (ранее такого не было).
6. Скрыл страницу /administrator/index.php, но ситуация не изменилась, запросов также много, но уже, видимо, только на /index.php
7. В cPanel среди лидеров запросов, помимо России, появился Китай, Турция и Польша. Но в последние дни почти все айпи с большим количеством запросов - из России.

=====

Подскажите, пожалуйста, кто-нибудь сталкивался с такой ситуацией? Волнуют два вопроса:
1. Почему нагрузка увеличилась пропорционально нормальной? Не каждый день, например, на 100к больше, а именно пропорционально в 2 раза?
2. Что можно сделать, чтобы решить проблему?

Спасибо, что прочитали до конца.
« Последнее редактирование: 10.02.2020, 18:32:33 от Lovenokia »
*

Lovenokia

  • Захожу иногда
  • 108
  • 0 / 0
Ссылка со скрином
https://ibb.co/px35CfD
« Последнее редактирование: 10.02.2020, 18:33:06 от Lovenokia »
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

wishlight

  • Гуру
  • 5053
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Код
RewriteCond %{HTTP_USER_AGENT} (SemrushBot|MJ12bot|AhrefsBot|DotBot|statdom.ru|MegaIndex.ru|WebDataStats|openstat.ru) [NC]
RewriteRule .* - [F,L]

В .htaccess для начала.

(если что все эти боты ко мне приходили)

Закрыть базовой авторизацией админку.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Чтобы не превышать нагрузку на CPU, включил кэширование.
Что именно вы включили?
*

Gerostrat

  • Захожу иногда
  • 374
  • 2 / 0
  • Свидетель чайной ложки
А ещё, если изменения на сайте редко происходят, поставить плагин, отдающий 304 Not Modified страницам, которые не изменились с прошлого посещения. Нагрузку снижает ух как!
https://extensions.joomla.org/extension/last-modified-any/

А вообще нужно смотреть логи сервера, желательно хотя бы за неделю и можно найти много интересного. Я использую Sreaming Frog Lof File Analyser. Он платный. Но хорош.
На основании того, что там видно, можно в htaccess блокировать то, что не нужно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сайт перестал нормально грузиться

Автор Leo1986

Ответов: 17
Просмотров: 1054
Последний ответ 11.06.2025, 13:55:08
от zilonitiz
Как конвертировать сайт Joomla в мобильное приложение?

Автор 62411

Ответов: 1
Просмотров: 911
Последний ответ 14.06.2024, 15:31:24
от Olg
После выключения расширения лег сайт

Автор blind

Ответов: 4
Просмотров: 1125
Последний ответ 19.05.2024, 14:13:33
от blind
Google Переводчик не переводит сайт

Автор Aqua

Ответов: 1
Просмотров: 1150
Последний ответ 04.03.2024, 12:50:00
от kovAlexandr78
Администрирую и редактирую сайт на CMS Joomla. Вопросы про настройки CMS

Автор admi5575

Ответов: 4
Просмотров: 937
Последний ответ 10.05.2023, 09:02:29
от admi5575