phpmyadmin 报错warning in ./libraries/sql.lib.php#613-kb88凯时官网登录

来自:网络
时间:2019-09-17
阅读:
免费资源网 - https://freexyz.cn/

ubuntu 18.04下安装好 mysql5.7, php7.2及 phpmyadmin 4.6.6并配置好用户名和密码以后,进入phpmyadmin后,查看任一数据库下的表格时,会遇到以下报错:

warning in ./libraries/sql.lib.php#613
 count(): parameter must be an array or an object that implements countable
backtrace
./libraries/sql.lib.php#2128: pma_isremembersortingorder(array)
./libraries/sql.lib.php#2079: pma_executequeryandgetqueryresponse(
array,
boolean true,
string 'information_schema',
string 'character_sets',
null,
null,
null,
null,
null,
null,
string '',
string './themes/pmahomme/img/',
null,
null,
null,
string 'select * from `character_sets`',
null,
null,
)
./sql.php#221: pma_executequeryandsendqueryresponse(
array,
boolean true,
string 'information_schema',
string 'character_sets',
null,
null,
null,
null,
null,
null,
string '',
string './themes/pmahomme/img/',
null,
null,
null,
string 'select * from `character_sets`',
null,
null,
)
./index.php#53: include(./sql.php)

搜索了一下,发现了好多人都遇到了同样的问题,原因可能是phpmyadmin4.6.6和php7.2不完全兼容引起的。

phpmyadmin新版本4.8以上应该解决了这个问题,不过现在还没法通过apt升级,需要自己手动升级。

stackoverflow上有网友给出了修改/usr/share/phpmyadmin/libraries/sql.lib.php文件的解决方法:

最高票答案是修改第614行,把

&& ($analyzed_sql_results['select_expr'][0] == '*')))

修改成:

&& ($analyzed_sql_results['select_expr'][0] == '*'))

这样修改后,原来的报错没有了,不过又报错500 internal server error,还是有问题。

另外一个答案,是修改/usr/share/phpmyadmin/libraries/sql.lib.php第613行,把

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

修改成

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

这个方法完美解决了问题。

免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图