Ubuntu 16.04安装PHPMyAdmin后出现count()错误求助
解决Ubuntu16.04+PHP7.2下phpMyAdmin的count()警告问题
嗨,这个问题我太熟了!你遇到的是PHP7.2和旧版phpMyAdmin的兼容性冲突——从PHP7.2开始,count()函数对参数的要求变严格了,必须是数组或者实现了Countable接口的对象,而你当前用的phpMyAdmin版本没适配这个新规则,所以弹出了这个警告。下面给你几个可行的解决办法,按需选就行:
方法一:修改phpMyAdmin核心代码(快速临时修复)
这是最快见效的办法,直接修正触发警告的代码:
- 打开phpMyAdmin的
plugin_interface.lib.php文件,路径通常是:sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php - 定位到第532行(就是错误提示里的那行),找到代码:
count($options) - 把它改成强制转成数组后再计数:
count((array)$options) - 按
Ctrl+O保存,Ctrl+X退出编辑器,然后刷新phpMyAdmin页面,警告应该就消失了。
方法二:升级phpMyAdmin到兼容版本(推荐长期方案)
Ubuntu16.04默认的phpMyAdmin版本比较老,不支持PHP7.2,升级到适配版本更稳妥:
- 添加phpMyAdmin的官方PPA源:
sudo add-apt-repository ppa:phpmyadmin/ppa - 更新系统软件源:
sudo apt update - 重新安装phpMyAdmin:
sudo apt install --reinstall phpmyadmin - 安装完成后重启Apache服务:
sudo systemctl restart apache2
如果PPA方式有问题,也可以手动下载phpMyAdmin官方4.8.x及以上的版本,备份原/usr/share/phpmyadmin目录后,把下载的文件替换进去即可。
方法三:临时屏蔽PHP警告(应急方案,不推荐)
这个办法只是隐藏警告,没解决根本问题,适合临时应急:
- 打开PHP7.2的配置文件(Apache环境下路径通常是):
sudo nano /etc/php/7.2/apache2/php.ini - 找到
error_reporting这一行,修改为:error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE - 保存后重启Apache服务:
sudo systemctl restart apache2
内容的提问来源于stack exchange,提问作者bwen
相关产品推荐
相关产品推荐

