Баги моего времени

Чиним phpmyadmin для Ubuntu 18.04

Нормальный phpmyadmin в репозиторий Ubuntu видимо никогда уже не зальют, поэтому если у вас при каждом клике выскакивает ошибка:

Problem with phpMyAdmin and PHP 7.2: “Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable

То починить это можно довольно просто. В файле

/usr/share/phpmyadmin/libraries/sql.lib.php

в строке 613 меняем

(count($analyzed_sql_results['select_expr'] == 1)

на

((count($analyzed_sql_results['select_expr']) == 1)

т.е нужно взять count в дополнительные скобки.

Подписаться на блог
Отправить
Поделиться
 367   2020   admin   phpmyadmin   ubuntu
1 комментарий
Евгений Степанищев 2020

Что-то я не могу понять как скобки помогают.

Llemilio 2020

Это какая-то неведомая магия PHP. По мне так оба варианта нерабочие! )))
Целиком кусок кода такой:

function PMA_isRememberSortingOrder($analyzed_sql_results)
{
    return $GLOBALS['cfg']['RememberSorting']
        && ! ($analyzed_sql_results['is_count']
            || $analyzed_sql_results['is_export']
            || $analyzed_sql_results['is_func']
            || $analyzed_sql_results['is_analyse'])
        && $analyzed_sql_results['select_from']
        && ((empty($analyzed_sql_results['select_expr']))
            || ((count($analyzed_sql_results['select_expr']) == 1)
                && ($analyzed_sql_results['select_expr'][0] == '*')))
        && count($analyzed_sql_results['select_tables']) == 1;
}