我有一个问题,我已经研究过要找到解决方案,但是已经提供的任何修复都会导致更严重的错误,所以我希望有人可以在这里指导我。
这是我尝试在 phpMyAdmin 中使用 Import 功能时遇到的错误
./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) (build: Jan 13 2020 18:39:59) (NTS) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.24-0ubuntu0 .18.04.2,版权所有 (c) 1999-2018,由 Zend Technologies 提供
所有软件包都已使用 apt-get update 升级到最新版本;apt-get 升级
所以我正在运行我正在使用的最新包。我使用 php7.2 的原因是因为我在此服务器上安装的一些 Web 应用程序需要该版本,并且没有升级到该版本的说明。
如果我可以提供任何其他信息,请告诉我。
预先感谢您的帮助!
系统停止