Предупреждение в ./libraries/plugin_interface.lib.php#551 при использовании phpMyAdmin
У меня есть проблема, которую я исследовал, чтобы найти решение, но любые исправления, которые были предоставлены, вызывают гораздо более серьезную ошибку, поэтому я надеюсь, что кто-то сможет помочь мне здесь.
Вот ошибка, которую я получаю, когда пытаюсь использовать функцию импорта в phpMyAdmin
Предупреждение в./libraries/plugin_interface.lib.php#551 count(): параметр должен быть массивом или объектом, который реализует Countable
Ниже вы найдете заявление, в котором содержится ссылка на ошибку.
if ($options != null && count($options) > 0) {
foreach ($options->getProperties()
as $propertyMainGroup
) {
// check for hidden properties
$no_options = true;
foreach ($propertyMainGroup->getProperties() as $propertyItem) {
if (strcmp('PMA\libraries\properties\options\items\HiddenPropertyItem', get_class($propertyItem))) {
$no_options = false;
break;
}
}
$ret .= PMA_pluginGetOneOption(
$section,
$plugin_name,
$propertyMainGroup
);
}
}
Что, согласно тому, что я нашел, это предложенное исправление.
correction to the operation on lines #551-570 in the file: plugin_interface.lib.php
if ($options != null && count((array)$options) > 0) {
foreach ($options->getProperties()
as $propertyMainGroup
) {
// check for hidden properties
$no_options = true;
foreach ($propertyMainGroup->getProperties() as $propertyItem) {
if (strcmp('PMA\libraries\properties\options\items\HiddenPropertyItem', get_class($propertyItem))) {
$no_options = false;
break;
}
}
$ret .= PMA_pluginGetOneOption(
$section,
$plugin_name,
$propertyMainGroup
);
}
}
Когда я вношу указанное изменение, то есть меняю строку
if ($options != null && count($options) > 0) {
к
if ($options != null && count((array)$options) > 0) {
Во всех случаях перезапуск sudo service apache2 запускался после внесения изменений.
Однако, просто открывая phpMyAdmin после предложенного изменения, я получаю следующую ошибку, которая больше не ограничивается только функцией "импорта".
Я получаю следующую ошибку: "Ошибка при обработке запроса. Код ошибки: 500 Текст ошибки: внутренняя ошибка сервера"
Хотя у всех круглых скобок есть соответствующие, и из всего, что я могу сказать, они синтаксически правильны, есть еще что-то, что не нравится, я предполагаю, что либо php, либо phpMyAdmin, в любом случае, мне могла бы понадобиться помощь, потому что мне нужно экспортировать базу данных на другой сервер, и я знаю только, как это сделать с помощью phpMyAdmin.
Помимо "исправления", которое я нашел для этого, человек, которому был дан этот ответ, также ответил, что это предложение исправления вызвало тот же сбой после реализации, и попросил человека помочь прояснить, поскольку это не сработало, но, как ни странно, человек никогда не ответил, поэтому я пришел к экспертам.
Я использую следующее:
Версия сервера: 10.1.43-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04 Версия сервера: Apache/2.4.29 (Ubuntu) Сервер построен: 2019-09-16T12:58:48 PHP 7.2.24-0ubuntu0.18.04.2 (cli) (построено: 13 января 2020 г., 18:39:59) ( NTS) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies с Zend OPcache v7.2.24-0ubuntu0.18.04.2, Copyright (c) 1999-2018, Zend Technologies
Все пакеты были обновлены до последней версии с помощью apt-get update; apt-get upgrade
Итак, я использую последний из используемых пакетов. Причина, по которой я использую php7.2, заключается в том, что некоторые из веб-приложений, которые я установил на этом сервере, требуют этой версии и не имеют инструкций по обновлению предыдущей версии.
Если я могу предоставить дополнительную информацию, пожалуйста, дайте мне знать.
Заранее спасибо за вашу помощь!
Systop
1 ответ
Поскольку у меня не было других решений для этого, я вручную обновил phpMyAdmin до последней версии phpMyAdmin, которая есть на их сайте.
Это решило проблему. Если кто-то еще столкнется с этой проблемой, вместо того, чтобы пытаться выяснить, как исправить синтаксические ошибки в файлах, я настоятельно рекомендую выполнить действия на этой странице и просто изменить пути в соответствии с вашей установкой на вашем сервере.
Обновите phpMyAdmin, опубликованный DevAnswers.co
Шаги, описанные на этом сайте, очень легко понять и реализовать. После завершения установки у вас не должно возникнуть проблем с использованием функций импорта / экспорта и любых других областей, в которых эта проблема может возникнуть.