Я загрузил резервную копию в таблицу, открыв таблицу, я вижу это:
Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable
Backtrace
./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./sql.php#216: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./index.php#53: include(./sql.php)
Внутри phpMyAdmin ...
PHP 7.2, сервер Ubuntu 16.04, установлен вчера.
В поисках я увидел, что у некоторых есть эта ошибка в их коде, но я не нашел никого, кто получил это в phpMyAdmin ...
Что мне делать? Это моя ошибка? Ошибка phpmyadmin? ждать обновления? Я вернусь к PHP 7.1?
phpmyadmin
countable
alebal
источник
источник
if ( count($articles)){..}
в CodeIgniter , они должны использовать:if ( count((array)$articles)){..}
как здесьОтветы:
Отредактируйте файл
/usr/share/phpmyadmin/libraries/sql.lib.php
с помощью этой команды:В строке 613 функция count всегда принимает значение true, поскольку после нее закрывающая скобка отсутствует
$analyzed_sql_results['select_expr']
. Выполнение приведенных ниже замен решает эту проблему, тогда вам нужно будет удалить последние закрывающие скобки в строке 614, поскольку теперь они являются дополнительными скобками.Заменить:
С:
Перезагрузите сервер apache:
источник
Error in processing request Error code: 500 Error text: Internal Server Error
. Решение @Chandra Nakka устранило мою проблему.Самый простой метод:
Просто запустите приведенную ниже командную строку в терминале и вернитесь в PhpMyAdmin. Теперь работает нормально :)
Ручной метод:
Открыть файл sql.lib.php
Найти
count($analyzed_sql_results['select_expr']
код для файла. Вы можете получить это в строке ~ 613 . Вы можете увидеть это ниже неправильный кодПросто замените этот неправильный код следующим
Сохраните файл и зайдите в PhpMyAdmin .
источник
nano +613 filename
, чтобы перейти непосредственно к конкретной строке.Я нашел это PHP 7.2 count () - ошибка SYNTAX в sql.lib.php
Это прекрасно работает в моем конфиге:
открыто
/usr/share/phpmyadmin/libraries/sql.lib.php
Изменить строку : переместить скобки перед ==
в
источник
server error
. Ответ @ loquace должен быть принят.протестирован на Debian, должен работать на Ubuntu:
1.) Сначала загрузите последний файл phpMyadmin.
2.) Удалить (сделать резервную копию) все предыдущие версии файла, расположенного в
/usr/share/phpmyadmin
каталоге.3.) Распакуйте в
/usr/share/phpmyadmin/
каталог все файлы последней версии phpmyadmin.4.) Изменить файл
libraries/vendor_config.php
и изменить строку:в
а также
в
5.) Перезапустите сервер Apache и все готово.
источник
mkdir /usr/share/phpmyadmin/tmp; chgrp www-data tmp; chmod g+w tmp;
/usr/share/phpmyadmin
. Не нужно было следовать последующим шагам.Редактировать файл :
'/usr/share/phpmyadmin/libraries/sql.lib.php'
Заменить :
(count($analyzed_sql_results['select_expr'] == 1)
С :
(count($analyzed_sql_results['select_expr']) == 1
это сработало для меня
источник
источник
Если у кого-то есть похожая ошибка на странице экспорта БД (у меня была эта проблема в Ubuntu 18.04), тогда замените строку 551 в файле
/usr/share/phpmyadmin/libraries/plugin_interface.lib.php
с кодомисточник
if ($options != null && count($options) > 0) {
на:if ($options != null) {
тогда вы можете экспортироватьphpmyadmin 4.7.4 должен иметь «Исправлено несколько проблем совместимости с PHP 7.2»
Скорее всего, у вас есть старая версия phpmyadmin.
https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/
источник
Выполните следующие шаги в Ubuntu-18.04:
Шаг 1) найдите
sql.lib.php
Это покажет что-то вроде:
Шаг 2) Откройте терминал (Alt t) и напишите:
Шаг 3)
sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php
и поиск ниже функции:Шаг 4) Замените вышеуказанную функцию на:
Шаг 4) Сохраните и закройте файл и команду ниже на терминале
Шаг 5)
sudo service mysql reload
Шаг 6)
sudo service apache2 reload
Это работает для меня .. Goodluck
источник
Кроме того, если вы все еще сталкиваетесь с той же проблемой, то сделайте следующее.
заменить следующим кодом
Теперь сохраните и перезагрузите сервер
источник
Я думаю, что лучший вариант - обновить Phpmyadmin до версии, в которой это уже исправлено.
Пока он не будет опубликован как deb, вы можете сделать это как в ответе @ crimson-501, который я скопирую ниже:
apt-get install phpmyadmin
.cd /usr/share
.rm -rf phpmyadmin
.apt-get install wget
):wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-english.zip"
Позвольте мне объяснить аргументы этой команды, -Р определяет путь и «link.zip» в настоящее время (7/17/18 ) последняя версия PMA. Вы можете найти эти ссылки ЗДЕСЬ .apt-get install unzip
):unzip phpMyAdmin-4.9.4-english.zip
. Мы только что распаковали PMA, теперь мы перенесем его в последний дом.cp
(копировать), чтобы переместить наши файлы! Обратите внимание, что мы должны добавить-r
аргумент, так как это папка.cp -r phpMyAdmin-4.9.4-english phpmyadmin
,rm -rf phpMyAdmin-4.9.4-english
.Продолжай читать!
Теперь вы можете заметить две ошибки после входа в PMA.
Однако эти проблемы относительно легко исправить. Для первой проблемы все, что вам нужно сделать, это взять ваш редактор по своему выбору и редактировать,
/usr/share/phpmyadmin/config.inc.php
но есть проблема, мы удалили ее! Это нормально, все что вам нужно сделать, это:cd /usr/share/phpmyadmin
&cp config.sample.inc.php config.inc.php
.nano config.inc.php
и скопируйте динамически сгенерированный секрет из нижней части этой страницы: https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator .Пример phpMyAdmin Запись секретной переменной Blowfish:
Теперь сохраните и закройте файл.
mkdir tmp
&chown -R www-data:www-data /usr/share/phpmyadmin/tmp
. Последняя команда позволяет веб-серверу Apache владеть каталогом tmp и редактировать его содержимое.источник
Ubuntu 18.04 LTS
Это шаги, которые работали для меня. Огромное спасибо William Desportes за автоматическое обновление своего Ubuntu PPA.
Шаг 1 ( из публикации Уильяма Деспорта )
$
sudo add-apt-repository ppa:phpmyadmin/ppa
Шаг 2
$
sudo apt-get --with-new-pkgs upgrade
Шаг 3
$
sudo service mysql restart
Если у вас есть проблемы с перезапуском mysql, вы также можете перезапустить с помощью следующей последовательности
$
sudo service mysql stop;
$
sudo service mysql start;
источник
Попробуйте заменить эту функцию в файле: /usr/share/phpmyadmin/libraries/sql.lib.php
источник
Ubuntu 18.10 (декабрь 2018 г.)
Строки 613, 614, 615 заменить на:
источник
Работа для меня .. Ubuntu 18.04
Найти
count($analyzed_sql_results['select_expr']
код для файла. Вы можете получить это в строке ~ 613.Просто замените код:
Сохраните файл и перезагрузите PhpMyAdmin.
Выполнено!!!
источник
|| (count($analyzed_sql_results['select_expr']) == 1
Для моей версии phpmyadmin (4.6.6deb5) я нашел строку 613 и понял, что скобки count () не были закрыты должным образом. Чтобы исправить это временно до следующего выпуска, просто измените:
чтобы:
источник
Это исправлено в более поздних версиях PHPMyAdmin. Хранилища программного обеспечения Ubuntu для Ubuntu 18.04.2 содержат версию 4.6.6.5, в то время как они в настоящее время находятся в 4.9.0.1. Обновление установки PHPMyAdmin решит эту проблему, но может оказаться более рискованным, чем просто редактирование одной строки кода. Вот как я это сделал на своем сервере Ubuntu. Шаги по сути одинаковы (с другим путем) для всех операционных систем.
Убедитесь, что это работает. Если это не так, хорошо ... У вас есть резервная копия, поэтому восстановите ее и вручную отредактируйте неисправную строку. Исходя из своего личного опыта, после этого я обнаружил, что версия 4.6.6.5 не только пронизана ошибками, но и невероятно медленной по сравнению с новой 4.9.0.1. Увеличение скорости было чистой магией для чего-то, что, как я думал, имело качество WordPress.
источник
Работает на UBUNTU 16.04.3 Просто открыть
USR / доли / библиотеки / sql.lib.php
Modify
|| (count($analyzed_sql_results['select_expr'] == 1)
к
|| ((count($analyzed_sql_results['select_expr']) == 1)
источник
Обновление до phpMyAdmin 4.8.3. это решает проблемы совместимости PHP 7.2
источник
|| ((count($analyzed_sql_results['select_expr']) == 1
Это то, что я изменил в строке 614, и phpmyadmin работает без ошибок. Нужен один
(
до подсчета, а один)
до==
. Вот и все.источник
Изменить файл '/usr/share/phpmyadmin/libraries/sql.lib.php' Заменить: (сделать резервную копию)
С:
источник
Привет следующее решить мою проблему абсолютно (импорт / экспорт и так далее):
Исправить ошибку Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04
так ... под Ubuntu 18.04, MySQL, php7.2: Терминал:
Найдите следующую строку (ctrl + f):
это было на линии № 551 для меня
и изменить на следующее:
Ctrl + S для сохранения изменений
и в терминале: Ctrl + C для возврата назад ...
а также:
sudo systemctl restart apache2
«Я думаю, что в новой версии php. Он не может использовать count () или sizeof () с типом un array. Форсировать параметр в массив - это простой способ решить эту ошибку, ...»
Спасибо за оригинального автора для решения проблемы! Я пытаюсь поделиться этим!
источник
Откройте
/usr/share/phpmyadmin/sql.lib.php
файл с повышенными привилегиями и отредактируйте в функции следующееPMA_isRememberSortingOrder()
:|| count($analyzed_sql_results['select_expr'] == 1)
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
&& ($analyzed_sql_results['select_expr'][0] == '*'))
Перезагрузите сервер Apache:
sudo service apache2 restart
.Протестировано на Linux Mint 19.1 на основе Ubuntu 18.04, с PhpMyAdmin 4.6.6 и PHP 7.2.
источник
Я испробовал все вышеперечисленное решение, но у меня не получилось.
Попробуй это:-
Установите требуемую версию PHP (в моем случае 7.0), а затем в терминале введите
Вывод будет таким:
Затем вы можете переключиться на любую версию PHP, просто введя номер выбора (в моем случае 1).
Надеюсь, что это может помочь другим - :)
источник
У меня была эта проблема при использовании Windows, и ответы выше решили ее для меня, однако, когда я перешел на Linux (Ubuntu 18.04 LTS), у меня была та же проблема, и я не мог понять, как ее решить, потому что я не видел файл '/usr/share/phpmyadmin/libraries/sql.lib.php.
Этот файл sql.lib.php не находился в общей папке или в папке phpmyadmin / library моего каталога / opt / lampp - поскольку я использовал xampp в своей Ubuntu. На основе обновления, сделанного для установки xampp (потому что я использовал последнюю установку на данный момент).
Ответ еще заменить:
(count($analyzed_sql_results['select_expr'] == 1)
С:
(count($analyzed_sql_results['select_expr']) == 1
Однако файл для поиска находится
Sql.php
в/opt/lampp/phpmyadmin/libraries/classes/Sql.php
Будущие обновления или, если вы все еще не нашли его: используйте
grep -r 'count($analyzed_sql_results' /opt/lampp/phpmyadmin
для поиска подходящих документов в вашем каталоге и соответственно изменитеисточник
Заменить функцию:
источник
Редактировать файл
/usr/share/phpmyadmin/libraries/sql.lib.php
Увидеть ошибку в вашей ошибке
перейдите на эту строку и удалите вызов функции.
Меня устраивает.
источник
Я вижу, что вы все редактируете или обновляете из наших файлов
Для тех, кто хочет автоматические обновления, вы можете использовать наш Ubuntu PPA
sudo add-apt-repository ppa: phpmyadmin / ppa
А для пользователей Debian вам нужно будет дождаться следующей версии Debian или использовать PPA
Ubuntu 20 имеет phpMyAdmin 4.9 или более позднюю версию
Проблема Debian на нашем трекере
Счетные проблемы на нашем трекере
TLDR Обновление до последней версии 4.9 или 5.0 для решения этой проблемы.
источник
Это хорошо сработало для меня в Ubuntu 18.04 .
Открыть файл sql.lib.php
Замените этот неправильный код:
С этим:
Сохраните файл.
Перезагрузите сервер с помощью:
И обновить PhpMyAdmin
источник
В Ubuntu 18.04 с MariaDb и Nginx я решил эту проблему, обновив файл /usr/share/phpmyadmin/libraries/sql.lib.php следующим образом:
Ответ, упомянутый @Nguyen, выдает ошибку 500, говорящую:
источник