phpmyadmin导出问题:count(): Parameter must be array or an object that implements Countable

Phpmyadmin export issue: count(): Parameter must be an array or an object that implements Countable

我在导出任何数据库时遇到 PhpMyAdmin 问题。每次都来。

如果有人有办法解决 PhpMyAdmin 中所有这些类型的问题,请帮助我

看来我们无法从 PHP 7.2+ 的 PhpMyAdmin 中删除所有问题。但是我们可以通过更改文件 libraries/plugin_interface.lib.php 文件中第 532 行的一行来解决这个问题。

下面是修复的屏幕截图。

修复代码之前如下所示:-

修复后的代码如下所示:-

以上是解决导出数据库屏幕中错误消息的唯一修复方法。

在 PHP 7.2.10 上测试后,您需要像这样更改该行:

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

是的,如果您使用的是 phpMyAdmin 版本 4.6.6deb4,您将收到此错误。

在我的 /usr/share/libraries/phpmyadmin/sql.lib.php 文件中,特别是在第 613 行,if 语句似乎有错误。更改

|| (count($analyzed_sql_results['select_expr'] == 1)

至此

|| ((count($analyzed_sql_results['select_expr']) == 1)

第一行代码试图计算输出不可数值('false' 或 'true')的布尔表达式的结果。

此更改后,错误消失了。

使用 Louis Charette 在对 marvatron 的回答的评论中推荐的路径 /usr/share/phpmyadmin/libraries/sql.lib.php 解决了我的问题。

(确认评论并将其转化为正确答案。)

Ubuntu 18.04 LTS

这些是对我有用的步骤。非常非常感谢 William Desportes 为他们的 Ubuntu PPA 提供自动更新。

第 1 步(来自 William Desportes post)

sudo add-apt-repository ppa:phpmyadmin/ppa

第 2 步

sudo apt-get --with-new-pkgs upgrade

第 3 步

sudo service mysql restart

如果您在重启时遇到问题mysql,您也可以按照以下顺序重启

sudo service mysql stop

sudo service mysql start

sudo sed -i "s/|\s*\((count($analyzed_sql_results\['select_expr'\]\)/| ()/g" /usr/share/phpmyadmin/libraries/sql.lib.php```