Как исправить ошибку в phpMyAdmin. «count(): Parameter must be an array or an object that implements Countable»

При установке phpMyAdmin на сервер с Debian 9 с установленной версией php7.3 может появиться ошибка count(): Parameter must be an array or an object that implements Countable. Возможно, в ближайшем будущем разработчики устранят эту ошибку, внеся исправления в официальный дистрибутив, но до сих пор для того, чтобы она не мешала работе, приходится устранять её ручками. Делать это достаточно просто. Как? Рассмотрим ниже.



Код ошибки count(): Parameter must be an array or an object that implements Countable

Данная ошибка выдаётся в виде предупреждения, которое перекрывает весь экран:

count(): Parameter must be an array or an object that implements Countable

Жалобы на работу скрипта plugin_interface.lib.php:

Warning in ./libraries/sql.lib.php#551
count(): Parameter must be an array or an object that implements Countable

Номер строки может варьироваться от версии phpMyAdmin.

Для того, чтобы продолжить работу, можно просто нажать на кнопку «Игнорировать всё» или «Игнорировать», но это не иправит ситуации и диалоговое окно:

На сервере обнаружены некоторые ошибки!
Пожалуйста, посмотрите вниз текущего окна.

всё равно будет появляться. Для того, чтобы данное сообщение не возникало, нужно внести небольшие правки в два файла phpMyAdmin в исходный код на сервере.

Исправления в файле sql.lib.php

Первое исправление нужно внести в файл /usr/share/phpmyadmin/libraries/sql.lib.php:

Находим в коде строку

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

и вместо неё вставляем строку

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

Исправления в файле plugin_interface.lib.php

Второе исправление нужно внести в файл /usr/share/phpmyadmin/libraries/plugin_interface.lib.php:

Находим в коде строку

if ($options != null && count($options) > 0) {

и вместо неё вставляем строку

if ($options != null && count((array) $options) > 0) {

Резюме

После внесённых правок phpMyAdmin продолжает работать без ошибок:

Warning in ./libraries/sql.lib.php#551

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню