手动修改discuz x2、x2.5在线人数最高纪录
修改discuz x2最高在线人数方法如下:(修改成最高在线人数为5000)
1 修改数据表pre_common_setting,字段onlinerecord; 前面部分是人数纪录,后面部分是时间,如修改成:5000 1325248279 。
但是这样改了之后,在线人数纪录是不会有变化的,原因就是这个数值是从缓存表pre_common_syscache里面读取的,如果common_setting里onilnerecord的最高人数纪录小于缓存表里面的最高人数纪录,那么缓存表里面的纪录是不会变化的.所以还需要修改下缓存表.
2 缓存表pre_common_syscache数据是mediumblob,直接用客户端或者phpmyadmin不好修改,可以通过php来修改:
<?php
error_reporting(E_ALL);
include('source/class/class_core.php');
$discuz = & discuz_core::instance();
$discuz->init_cron = false;
$discuz->init_session = false;
$discuz->init();
ob_start("ob_gzhandler");
$onlinenum=5000;
$onlinerecord = "$onlinenum\t".TIMESTAMP;
DB::query("UPDATE ".DB::table('common_setting')." SET svalue='$onlinerecord' WHERE skey='onlinerecord'");
save_syscache('onlinerecord', $onlinerecord);
?>
保存为change.php 放到论坛目录下,访问即可,用完删掉此文件.再次回到dz首页,发现最高纪录已经正常了.
当然也可以直接运行sql语句:
UPDATE `dz_common_syscache` SET `data`='5000\t1325248279' WHERE (`cname`='onlinerecord') LIMIT 1