使用phpMyAdmin时,./libraries/plugin_interface.lib.php#551中出现警告

使用phpMyAdmin时,./libraries/plugin_interface.lib.php#551中出现警告,phpmyadmin,ubuntu-18.04,apache2.4,php-7.2,mariadb-10.1,Phpmyadmin,Ubuntu 18.04,Apache2.4,Php 7.2,Mariadb 10.1,我有一个问题,我已经研究,以找到一个解决方案,但已提供的任何修复导致更严重的错误,所以我希望有人可以在这里指导我 以下是我尝试在phpMyAdmin中使用导入功能时遇到的错误 ./libraries/plugin_interface.lib.php#551中的警告 count():参数必须是数组或实现可计数的对象 下面您将找到错误引用的语句 if ($options != null && count($options) > 0) {

我有一个问题,我已经研究,以找到一个解决方案,但已提供的任何修复导致更严重的错误,所以我希望有人可以在这里指导我

以下是我尝试在phpMyAdmin中使用导入功能时遇到的错误

./libraries/plugin_interface.lib.php#551中的警告 count():参数必须是数组或实现可计数的对象

下面您将找到错误引用的语句

        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) {

在所有情况下,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)(构建时间:2020年1月13日18:39:59)(NTS) 版权所有(c)1997-2018 PHP集团 Zend Engine v3.2.0,版权所有(c)1998-2018 Zend Technologies Zend OPcache v7.2.24-0ubuntu0.18.04.2版权所有(c)1999-2018,由Zend Technologies提供

所有软件包已使用apt get update升级至最新版本;易升级

因此,我正在运行我正在使用的最新软件包。我之所以使用php7.2,是因为我在此服务器上安装的某些web应用程序需要该版本,并且没有升级到该版本的说明

如果我能提供任何其他信息,请让我知道

提前感谢您的帮助


Systop

因为我无法找到其他解决方案,所以我手动将phpMyAdmin升级到他们网站上的phpMyAdmin的最新版本

这就解决了问题。如果其他人遇到此问题,而不是试图找出如何修复文件中的语法错误,我强烈建议按照本页上的步骤,只需修改路径以匹配服务器上的安装

本网站中概述的步骤非常容易理解和实施。完成安装后,使用导入/导出功能以及可能出现此问题的任何其他区域都不会出现问题

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