霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

修改discuz! x2.5统计精华帖数的bug

这几天我把论坛从discuz! 7.2 升级到了discuz! x2.5,伴随着数据升级,足足花了四五个小时。庆幸的是升级非常顺利,没有出现大的让人崩溃的事情。

升级完成之后,发现了discuz! 2.5 的两个bug:

1、进入后台 -> “工具” -> “更新统计” -> 重建用户精华帖数。

这个“重建用户精华帖数”的程序代码有错误!无论怎么去更新,用户的精华帖数始终是0,不会改变。官方到现在还没有给出解释。我研究代码之后,找到了解决办法:

进入source/admincp/目录,打开 admincp_counter.php,

首先定位到第73行,把代码修改为(见红字部分):

foreach(C::t(‘forum_thread’)->fetch_all_by_digest_displayorder(0, ‘!=‘, 0, ‘>=’, $current, $pertask) as $thread) {

然后再修改第89行,把原代码:

$postsarray[$posts] .= ‘,’.$uid;

修改为:

$postsarray[$posts][] = $uid;

保存,上传并覆盖到网站上这个文件。

2、进入后台 -> “工具” -> “更新统计” -> 重建空间好友数

这个“重建空间好友数”的数据表结构有错误!数据表 _common_member_count 中缺少 “friends” 字段!导致程序无论怎么执行都不会更新用户好友数。

解决方法:

打开_common_member_count,增加字段“friends”即可。

 



There are 2 Comments to "修改discuz! x2.5统计精华帖数的bug"