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);
Из минусов: это не лучшая практика, а временная заплатка, пока разработчики что-то с этой проблемой не сделают.