使用 phpMyAdmin 时 ./libraries/plugin_interface.lib.php#551 中的警告
Posted
技术标签:
【中文标题】使用 phpMyAdmin 时 ./libraries/plugin_interface.lib.php#551 中的警告【英文标题】:Warning in ./libraries/plugin_interface.lib.php#551when using phpMyAdmin 【发布时间】:2020-05-05 11:15:18 【问题描述】:我有一个问题,我已经研究过要找到解决方案,但提供的任何修复都会导致更严重的错误,所以我希望有人可以在这里指导我。
这是我尝试在 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 restart 在更改后运行。
但是,在建议的更改后仅打开 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) (内置: Jan 13 2020 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 升级到最新版本; apt-get 升级
所以我正在运行我正在使用的最新软件包。我使用 php7.2 的原因是因为我在此服务器上安装的一些 Web 应用程序需要该版本,并且没有关于升级该版本的说明。
如果我可以提供任何其他信息,请告诉我。
提前感谢您的帮助!
系统停止
【问题讨论】:
【参考方案1】:由于我没有其他解决方案可以解决这个问题,我手动将 phpMyAdmin 升级到他们网站上的最新版本的 phpMyAdmin。
这已经解决了这个问题。如果其他人遇到此问题,而不是试图找出如何修复文件中的语法错误,我强烈建议按照此页面上的步骤操作,只需修改路径以匹配您在服务器上的安装。
Upgrade phpMyAdmin posted by DevAnswers.co
本网站中列出的步骤非常容易理解和实施。完成安装后,使用导入/导出功能以及可能出现此问题的任何其他区域应该没有问题。
【讨论】:
以上是关于使用 phpMyAdmin 时 ./libraries/plugin_interface.lib.php#551 中的警告的主要内容,如果未能解决你的问题,请参考以下文章
.\libraries\classes\Plugins\AuthenticationPlugin.php#226 中的错误警告不能使用 phpmyadmin 在 mysql 中将标量值用作数组
phpmyadmin 中的错误 ./libraries/plugin_interface.lib.php#551 中的警告
致命错误:未捕获的错误:在 C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php:1544 中的 null 上调用成员函数存在()