phpmyadmin报warning

今天打开后台phpmyadmin,发现一直弹出warning。


问题现象

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

Backtrace

./libraries/display_import.lib.php#371: PMA_pluginGetOptions( string ‘Import’, array, ) ./libraries/display_import.lib.php#456: PMA_getHtmlForImportOptionsFormat(array) ./libraries/display_import.lib.php#691: PMA_getHtmlForImport( string ‘5c919e2ed6622’, string ‘database’, string ‘wordpress’, string ”, integer 2097152, array, NULL, NULL, string ”, ) ./db_import.php#43: PMA_getImportDisplay( string ‘database’, string ‘wordpress’, string ”, integer 2097152, )


原因

php新版本即php7对于非array类型不能使用count()或者sizeof().


解决方案

最简单的方案就是把参数强制类型转换成array:

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

定位到报错的行数551,使用ctrl+_,注意同时按下shift键。

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

这样就解决了。