You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu16.04升级PHP7.2后phpMyAdmin报错问题咨询

解决Ubuntu 16.04 LTS升级PHP7.2后phpMyAdmin的count()警告问题

这问题我之前帮好几个开发者解决过——PHP7.2开始对count()函数的参数做了严格校验,要求必须是可计数的数组或对象,而大部分4.x版本的phpMyAdmin还没适配这个变化,所以才会弹出那个烦人的警告。给你三个靠谱的解决办法,你可以根据自己的情况选择:

方案1:直接修复phpMyAdmin的源码文件(最快速)

这是最直接的临时修复方式,适合不想折腾升级的场景:

  • 首先定位到出问题的文件,路径一般是:/usr/share/phpmyadmin/libraries/sql.lib.php
  • 先备份原文件,避免改坏了无法恢复:
    sudo cp /usr/share/phpmyadmin/libraries/sql.lib.php /usr/share/phpmyadmin/libraries/sql.lib.php.bak
    
  • 用文本编辑器打开文件(比如nano):
    sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
    
  • 找到第601行附近的代码(不同小版本可能行号略有差异,你可以搜索count(): Parameter must be an array相关的代码块),原代码大概是:
    if (count($analyzed_sql_results['select_expr']) == 1) {
    
  • 修改成强制转成数组的形式,确保count()的参数始终是可计数的:
    if (count((array)$analyzed_sql_results['select_expr']) == 1) {
    
  • 保存文件(nano里按Ctrl+O,回车确认,再按Ctrl+X退出)
  • 重启你的Web服务,比如Apache:
    sudo systemctl restart apache2
    
    或者如果用的是PHP-FPM:
    sudo systemctl restart php7.2-fpm
    
    之后再打开phpMyAdmin,警告就应该消失了。

方案2:升级phpMyAdmin到适配PHP7.2的版本(一劳永逸)

如果想彻底解决这个问题,建议升级到支持PHP7.2的phpMyAdmin版本(4.8.5及以上)。Ubuntu 16.04默认源里的版本比较旧,你可以通过官方PPA来安装:

  • 添加phpMyAdmin的官方PPA:
    sudo add-apt-repository ppa:phpmyadmin/ppa
    
  • 更新系统源:
    sudo apt update
    
  • 升级phpMyAdmin:
    sudo apt install phpmyadmin
    
  • 同样重启Web服务,之后新版本的phpMyAdmin就不会有这个兼容性问题了。

方案3:临时关闭PHP警告(不推荐长期使用)

如果只是临时需要屏蔽警告,不想修改文件或升级,可以通过调整PHP的错误报告级别来实现,但这个方法会隐藏所有警告,可能错过其他有用的错误信息,所以只建议应急用:

  • 打开PHP的配置文件,比如/etc/php/7.2/apache2/php.ini(如果是PHP-FPM则对应/etc/php/7.2/fpm/php.ini)
  • 找到error_reporting这一行,修改为:
    error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE
    
  • 或者你也可以在phpMyAdmin的配置文件config.inc.php末尾添加一行:
    error_reporting(0);
    
  • 重启Web服务后,警告就不会再弹出了。

注意事项

  • 方案1的修改会在phpMyAdmin更新后被覆盖,所以如果后续通过apt升级了phpMyAdmin,需要重新做一次修改;
  • 方案2添加PPA后,后续系统更新会自动升级phpMyAdmin到最新适配版本,更省心;
  • 方案3尽量不要长期使用,否则可能忽略其他重要的错误提示。

内容的提问来源于stack exchange,提问作者Justin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:04:34