Произведенные изменения, после которых начались неполадки: обновление mysql c 7.x до версии 8.0.13
Версия phpBB: 3.2.5
Используемые стили: Prosilver
Используемые моды/расширения: Addon for Thanks for posts, Ajax Chat, Attached Image rotator, Avatar Upload Resize - Lite, Board Rules, CloudFlare IP, Disallow External Images, Extension Highslide, External Links Open in New Window, maps, phpBB Gallery, phpBB Media Embed PlugIn, Post Links, Profile side switcher, QuickReply Reloaded, Site logo (3.2), Stop spamer register, Thanks for posts, Topic Author, Upload Extensions, Web Push Notifications
Версия PHP:: 7.2.14
Используемая СУБД и её версия: MySQL 8.0.13
Ссылка на конференцию: https://alkobus.com
Есть ли у вас тестовый аккаунт: нет
Использовался ли поиск для решения проблемы: нет
Если да, то какие запросы вы использовали:
Как временное решение, исправил код в includes/function_admin.php:
Код: Выделить всё
Закомментил:
/*
$version = $row['mysql_version'];
if (preg_match('#(3\.23|[45]\.|10\.[0-9]\.[0-9]{1,2}-+Maria)#', $version))
{
$db_name = (preg_match('#^(?:3\.23\.(?:[6-9]|[1-9]{2}))|[45]\.|10\.[0-9]\.[0-9]{1,2}-+Maria#', $version)) ? "`{$db->get_
db_name()}`" : $db->get_db_name();
$sql = 'SHOW TABLE STATUS
FROM ' . $db_name;
$result = $db->sql_query($sql, 7200);
$database_size = 0;
while ($row = $db->sql_fetchrow($result))
{
if ((isset($row['Type']) && $row['Type'] != 'MRG_MyISAM') || (isset($row['Engine']) && ($row['Engine'] == 'MyISA
M' || $row['Engine'] == 'InnoDB' || $row['Engine'] == 'Aria')))
{
if ($table_prefix != '')
{
if (strpos($row['Name'], $table_prefix) !== false)
{
$database_size += $row['Data_length'] + $row['Index_length'];
}
}
else
{
$database_size += $row['Data_length'] + $row['Index_length'];
}
}
}
$db->sql_freeresult($result);
}
*/
Код: Выделить всё
Добавил после:
$db_name = (preg_match('#^(?:3\.23\.(?:[6-9]|[1-9]{2}))|[45]\.|10\.[0-9]\.[0-9]{1,2}-+Maria#', $version)) ? "`{$db->get_db_name()}`" : $db->get_db_name();
$sql = 'SELECT ROUND(SUM(data_length + index_length), 2) as "Size" FROM information_schema.TABLES WHERE table_schema="' . $db_name .'"';
$result = $db->sql_query($sql, 7200);
$database_size = 0;
while ($row = $db->sql_fetchrow($result))
{
$database_size += $row['Size'];
}
$db->sql_freeresult($result);
Может есть какие другие варианты решения вопроса?