在完成joomla升级后,我们可以点击系统=>数据库检查来查看是否有出现数据库的报错。但最近在做一个升级joomla5的项目时,点击数据库后就出现错误提示:count(): Argument #1 ($value) must be of type Countable|array, bool given

现象

升级完成后,点击系统维护=>数据库按钮后出现报错。如图:

这是什么原因?

出现上面的错误,大概意思是类型不匹配。应该传递的参数是数组但给了一个布尔值。这是典型的PHP错误。理论上在调用count之前应该加一个判断就可以解决。但进一步的分析,发现这个报错的代码是joomla核心的,修改joomla核心并不是很明智的做法,因此,就进一步的分析为什么传递进来的是布尔值。发现这个数据库检查的功能会检查每一个组件的update目录。有一些第三方的扩展的update/sql并不满足joomla5的规范因此出现了错误。知道原因就好解决了。只需要删除掉第三方组件的update目录就可以了。这个update目录并没有任何作用,他只在组件刚刚安装的时候会执行,安装成功后就不会使用了。删除是安全的。

解决方案

删除掉组件com_zwechat组件的mysql/update目录即可。如图:

如果你的删除了之后还没有解决,那么再继续找找其它第三方组件的updates目录删除即可。

最终效果

删除之后,执行结果正常。如图:

 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前