本栏目下相关链接 |
经验技巧 |
如何优化我的 Discuz! 让它运行更快?
由于 Discuz! 是使用数据库的应用程序,因此数据库的大小,也就是贴子数目,会员数目等直接影响到各项检索的速度。但您尽可以放心, D
iscuz! 经过特别的耐高压设计,确保在任何时候都可以比功能或级别相近的其他产品容纳更多的文章和在线人数是我们始终追求的目标。除去贴
子和在线人数的因素,您可以尝试从以下几个方面入手优化 Discuz! : 下面列出几个可能会影响 Discuz! 效率的功能,如果不必要,您可以在系统设置中将其关闭: 能否从远程服务器恢复备份数据? 可以的。Discuz! 的数据备份功能支持远程数据调用,您不需要事先将数据文件下载,只要在数据恢复中写入远程服务器上的备份数据文件名即可,例如http://www.your.com/forumdata/dz_0108_j3dhsgr-1.sql,如果您是多卷备份,请从起始卷(第一卷)开始,逐次输入到最后一卷的 文件名。远程数据调用需要两台主机之间的网络速度较快,否则可能导致超时错误。由于是文件传输,所以并不需要远程数据库连接的权限。 我想修改贴子列表上部的页码显示个数,该如何做? 现在默认值为 10。修改方法为:打开 ./include/global.func.php,找到 function multi 的行,在下面可以看到 $page = 10; 字样。将10修改为您需要的页码个数即可。 为什么不提供管理记录的删除功能? Discuz! 管理记录用文件保存,为了防止记录被非法删除,自动存留 15 天内的最新记录,这些记录占用不了很多的空间,不需手工删除。 如一定要删除,可通过FTP 直接删除 ./forumdata/(xxx)log.php 即可。 请给出论坛统计中 Discuz! 论坛活跃指数的计算方法。 论坛活跃指数由以下五项经过系数相乘后相加而成: 如果您有认更合理的计算方法,欢迎和我们联系。 我想在帖子中显示会员的性别该怎么做? 通常您只需要修改 index 模板即可,查找: {lang postnum} $post[postnum] ,在其后面添加: 如何禁止普通会员复制帖子内容? 修改 header 模板,查找<body ,然后后面添加:<!--{if !in_array($groupid,array(1,2,3))}--> oncopy="return false;" oncut=" return false;"<!--{/if}-->这样可以禁止除版主以上级别的用户的复制动作,如果还想开放某些用户组的复制权限,可以在1,2,3后面加其他用户组的 groupid ,之间用英文半角逗号分隔。 怎样对所有会员进行加分奖励? 您可以以登录论坛后台,在用户管理 --> 积分奖惩里面进行奖惩 如何将登陆 cookie 有效期默认设置成 浏览器进程 ? 修改论坛根目录下的logging.php :查找 $cookietimecheck = array((isset($_DCOOKIE['cookietime']) ? intval($_DCOOKIE['cookietime']) : 2592000) => 'checked'); ,替换成: $cookietimecheck = array((isset($_DCOOKIE['cookietime']) ? intval($_DCOOKIE['cookietime']) : 0) => 'checked'); 。 怎样让发帖时在主题上自动加上发帖日期? 打开模板 viewthread。htm ,搜索: {lang subject}: $thread[subject] ,然后在后面加入:[<!--{echo gmd ate("$dateformat", $thread['dateline'] + $timeoffset * 3600)}-->]这样只需要在模板中进行修改就可以了。 管理员密码忘记了怎么办? 可以使用Discuz!工具箱中的恢复管理员密码功能进行修改,详情请见《Discuz!工具箱》 如何清除论坛所有的登陆IP记录? 先关闭论坛,进入"系统设置"里的"数据库","数据升级"中输入: UPDATE `cdb_posts` SET `useip` = '';UPDATE `cdb_members` SET `regip` = '',`lastip` = '' ; 提交即可;这样会将用户注册时候的 IP 也删除掉。如果不想删除用户注册时候的 IP ,可以将第2句换成: UPDATE `cdb_ members` SET `lastip` = '' ; 如何不让游客看到已注册用户的详细资料? 打开 viewpro.php ,查找: $discuz_action = 61; ,在后面添加:if (!$discuz_uid) { showmessage('对不起,游客无权 查看注册会员的资料。');} 我想重置会员的积分和发帖数,使两者相等该怎么做? 如果发1贴加1分,可以在系统设置的数据库升级或 phpmyadmin 里运行如下语句:UPDATE `cdb_members` SET credit=postnum; , 同理发1帖加2分就是:UPDATE `cdb_members` SET credit=postnum*2; 。 为什么不提供管理记录的删除功能? Discuz! 管理记录用文件保存,为了防止记录被非法删除,系统自动存留 500 条最新的记录,并占用不了很多空间,不需手工删 除。如一定要删除,通过 FTP 直接操作 ./forumdata/xxlog.php即可。 怎样设置才能让游客只能浏览论坛主题列表,不能浏览帖子内容? 您可以进入系统设置编辑游客组的权限详情,禁止其浏览帖子即可。 |