• После установки и активации elementor image optimizer v1.7.5
    на странице плагинов высвечивается предупреждение:

    Оптимизатор изображений не работает, потому что:

    Версия сервера базы данных устарела. Обновите версию MySQL до версии 5.7 или MariaDB до версии 10.2.

    Но у меня стоит более свежая версия mariadb.
    Вот что показывает «здоровье сайта» -> «информация» -> «База данных»

    Расширение базы данных	mysqli
    Версия СУБД 10.6.23-MariaDB-0ubuntu0.22.04.1
    Версия клиента БД mysqlnd 8.1.2-1ubuntu2.24

    Как заставить работать elementor image optimizer ?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • sergeyaz, привет. Видимо, это тот самый редкий случай, когда версия БД не переваривается плагином. А плагином она не переваривается из-за Action Scheduler, такая бага была около года назад, странно, если её не исправили до сих пор.

    Сейчас у вас есть две опции: а) найти замену этому плагину; б) «обмануть» плагин, подменив версию БД с 10.6.23-MariaDB-0ubuntu0.22.04.1 на 10.6.23-MariaDB кастомным кодом.

    Модератор Yui

    (@fierevere)

    永子

    Посмотрите эту тему поддержки плагина:

    https://wordpress.org/support/topic/plugin-incorrectly-identifies-mariadb-version-on-home-hosts/

    TL;DR

    We use the same detection method as the Action Scheduler to ensure consistency and avoid potential conflicts. In this case, the issue lies with how the database version is being detected at the Action Scheduler level.

    I kindly request you to raise this issue on the official Action Scheduler GitHub channel. Once they implement the necessary changes in their detection logic, we will promptly update our plugin to align with their approach.

    Мы используем тот же метод обнаружения, что и планировщик действий,
    чтобы обеспечить согласованность и избежать потенциальных конфликтов. В
    этом случае проблема заключается в том, как версия базы данных
    определяется на уровне планировщика действий.

    Я прошу вас
    поднять этот вопрос на официальном канале Action Scheduler на GitHub.
    Как только они внесут необходимые изменения в свою логику обнаружения,
    мы незамедлительно обновим наш плагин, чтобы он соответствовал их
    подходу.

    • Ответ изменён 1 месяц, 1 неделя назад пользователем Yui.

    Спасибо, @r3n0 , @fierevere

    Раскопал, что файле plugins/image-optimization/image-optimization.php
    есть функция is_db_json_supported() и у нее проблема вот в этом месте

    $supports_json = version_compare(
    PHP_VERSION_ID >= 80016 ? $wpdb->db_version() : preg_replace( '/[^0-9.].*/', '', str_replace( '5.5.5-', '', $db_server_info ) ),
    '10.2',
    '>='
    );

    Она заваливается на данных моего сервер

    PHP_VERSION_ID: 80102
    $wpdb->db_server_info(): 5.5.5-10.6.23-MariaDB-0ubuntu0.22.04.1
    $wpdb->db_version(): 5.5.5
    $db_server_info: 5.5.5-10.6.23-MariaDB-0ubuntu0.22.04.1
    preg_replace(...): 10.6.23

    sergeyaz, по этой самой причине я упомянул вариант с заменой версии на более короткий вариант через кастомный код. Должно сработать:

    add_action( 'plugins_loaded', function() {
    global $wpdb;
    if (isset($wpdb->db_version) && $wpdb->db_version === '5.5.5') { $wpdb->db_version = '10.6.23'; }
    }, 1);

    Из минусов: это не лучшая практика, а временная заплатка, пока разработчики что-то с этой проблемой не сделают.

Просмотр 4 ответов — с 1 по 4 (всего 4)

Для ответа на тему необходимо авторизоваться.