前言
前两天一直在倒腾博客访问速度慢的问题,当时尝试了水煮鱼的WPJAM插件,因为插件要求PHP版本最低为7.2,所以不得不升级了PHP版本,升级之后打开文章会有警告:Warning: count(): Parameter must be an array or an object that implements Countable in/www/wwwroot/blog/wp-includes/post-template.php on line 284,通过度娘,找到了解决方法。
解决
造成警告的原因是版本更新,部分方法变得更加严谨,当传递一个无效参数的时候,count()函数会抛出warning的警告。
首先,找到存在问题的文件,再找到报错的行数。
假设原代码是(复现代码懒得去找了):
if (count($tombstones) > 0) ;
则改成:
if (count((array)$tombstones) > 0) ;
保存之后刷新,警告就没有了。
扩展
当时看着修改后的代码,总觉得有些陌生,因为我记得PHP的强制转换应该不是这样的,
后来几经查找,发现自己记忆存在偏差,因为之前敲了很长一段时间JS,误以为JS的强制转换是PHP的强制转换。