我已经上传了备份到一个表,打开表我看到这个:

Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable

Backtrace

./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./sql.php#216: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./index.php#53: include(./sql.php)

在phpMyAdmin……

PHP是7.2,服务器是Ubuntu 16.04,昨天安装的。

我看到一些人在他们的代码中有这个错误,但我没有发现任何人在phpMyAdmin中收到它…

我该怎么办?这是我的错误吗?phpmyadmin错误?等待更新?回到PHP 7.1?


当前回答

嗨,下面绝对解决了我同样的问题(导入/导出等):

修复Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04的错误

所以…在ubuntu 18.04下,mysql, php7.2: 终端:

sudo gedit /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

找到下面的行(ctrl+f):

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

我是在551行

并更改如下:

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

Ctrl +s保存更改

在终端:ctrl+c for get back prompt…

然后:sudo systemctl restart apache2

“我认为在新的php版本。它不能对unarray类型使用count()或sizeof()。强制参数数组是解决这个错误的简单方法,…”

感谢原作者解决问题!我试着分享它!

其他回答

适用于UBUNTU 16.04.3 打开

usr / share /图书馆/ sql.lib.php

修改

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

To

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

如果有人在DB导出页面中有类似的错误(我在Ubuntu 18.04中有这个问题),然后用代码替换文件/usr/share/phpmyadmin/libraries/plugin_interface.lib.php中的551行

if ($options != null && (is_array($options) || $options instanceof Countable) && count($options) > 0) {

这在PHPMyAdmin的后续版本中得到了修复。Ubuntu 18.04.2的Ubuntu软件库的版本是4.6.6.5,而它们目前的版本是4.9.0.1。更新PHPMyAdmin安装可以解决这个问题,但是可能比仅仅编辑一行代码风险更大。下面是我在我的Ubuntu服务器上是怎么做的。对于所有操作系统,步骤本质上是相同的(只是路径不同)。

下载PHPMyAdmin。

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip
unzip phpMyAdmin-4.9.0.1-all-languages.zip

备份旧的PHPMyAdmin安装。

cp -r /usr/share/phpmyadmin ~/phpmyadmin-backup

在旧的PHPMyAdmin上删除新的PHPMyAdmin

cd phpMyAdmin-4.9.0.1-all-languages
rm -r /usr/share/phpmyadmin/doc/html
cp -R * /usr/share/phpmyadmin/

验证它是否有效。如果没有,那么……您有备份,因此恢复它并手动编辑故障行。根据我个人的经验,我发现4.6.6.5版本不仅漏洞百出,而且与新的4.9.0.1相比速度也慢得令人难以置信。对于我认为是“WordPress”质量的东西来说,速度的提高是纯粹的魔法。

我看到你们都在编辑或更新我们的文件

对于那些想要自动更新的人,你可以使用我们的Ubuntu PPA

Sudo add-apt-repository ppa:phpmyadmin/ppa

对于Debian用户,您需要等待Debian的下一个版本或使用PPA

Ubuntu 20有phpMyAdmin 4.9或更高版本

我们的跟踪器上的Debian问题

我们跟踪器上的可数问题

TLDR 请更新到最新的4.9或5.0版本以解决此问题。

add-apt-repository ppa:phpmyadmin/ppa
apt-get clean
apt-get update
apt-get purge phpmyadmin
apt-get install phpmyadmin

在Ubuntu 18.04上为我修复了它。