Предупреждение в ./libraries/plugin_interface.lib.php#551 при использовании phpMyAdmin - PullRequest
0 голосов
/ 19 января 2020

У меня есть проблема, которую я исследовал, чтобы найти решение, но любые из предоставленных исправлений приводят к гораздо более серьезной ошибке, поэтому я надеюсь, что кто-то может мне здесь помочь.

Вот ошибка Я получаю, когда пытаюсь использовать функцию импорта в 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 apache2 запускался после внесенных изменений.

Однако при открытии phpMyAdmin после предложенного изменения я получаю следующую ошибку который больше не изолирован только для функции «import».

Я получаю следующую ошибку: «Ошибка при обработке запроса Код ошибки: 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) Авторское право (c) 1997-2018 PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies с Zend OPcache v7.2.24-0ubuntu0.18.04.2, Авторское право (c) 1999-2018, Zend Technologies

Все пакеты были обновлены до последней версии с использованием обновления apt-get; apt-get upgrade

Итак, я использую последние из используемых мной пакетов. Причина, по которой я использую php7 .2, заключается в том, что для некоторых веб-приложений, которые я установил на этом сервере, требуется эта версия и нет инструкций по обновлению до этой версии.

Если я могу предоставить какую-либо дополнительную информацию, пожалуйста, дай мне знать.

Заранее благодарю за помощь!

Systop

1 Ответ

1 голос
/ 19 января 2020

Поскольку я не мог найти другие решения для этого, я вручную обновил phpMyAdmin до последней версии phpMyAdmin, которую они имеют на своем сайте.

Это решило проблему. Если кто-то столкнется с этой проблемой, а не попытается выяснить, как исправить синтаксические ошибки в файлах, я настоятельно рекомендую выполнить действия, описанные на этой странице, и просто изменить пути в соответствии с вашей установкой на сервере.

Обновление phpMyAdmin от DevAnswers.co

Шаги, описанные на этом сайте, очень просты для понимания и реализации. После завершения установки у вас не должно возникнуть проблем с использованием функций импорта / экспорта и других областей, в которых может возникнуть эта проблема.

...