云服务器促销,免费安装宝塔面板!
开启左侧

[DZ教程] discuz怎么定时自动清除论坛未读和已读的“短消息提醒”

[复制链接]
执手天涯 发表于 2018-4-12 23:31:16 | 显示全部楼层 |阅读模式

本站会员必须 邮箱验证成功后 才能发帖。马上注册查阅更多教程,下载海量资源,让你轻松玩做站

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
由于提醒和短消息长期积累导致这些数据表非常大,而且查询效率不高,如果网站访问量比较大可能就会影响到站点性能,所以你可以用下面的方法进行相应的方案调整。( y8 [& k2 E. O7 g0 l
. W$ |' ^1 \8 b* Y3 P2 C3 l! r1 P
无论您是否认为合理可自行调整,调整方法如下:
- j' P/ R, L3 z3 s1 C& p6 H2 B  {- p$ n4 T! S& J
打开 include/crons/cleanup_daily.inc.php,找到包含以下代码的两行,更改 SQL 语句后面数值(259200、2592000)即可。
& o. y3 \' p) k$ S- F
  1. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='1' AND dateline<'$timestamp'-259200", 'UNBUFFERED');
    8 j+ z) o8 d7 R* S) O; W
  2. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='0' AND dateline<'$timestamp'-2592000", 'UNBUFFERED');
复制代码
% C3 W2 `# m( I) J0 V" l

' L: P) N, a' n0 }替换为:: |; b& `! M( K1 f2 I
; t' N  c2 V% d" }1 h
  1. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='1' AND dateline<'$timestamp'-604800", 'UNBUFFERED');
    $ F% S8 S) U9 G
  2. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='0' AND dateline<'$timestamp'-259200", 'UNBUFFERED');
复制代码

: P! ?( |+ |1 i7 \4 p$ G1 Q% h+ d- V' |7 E
86400(1天的秒数) x 3(天) = 259200。
' c" m" W/ d+ a' \
1 _4 H0 E3 M& w* q  r9 t更改后的清除规则是“未读 7 天后清除,已读 3 天后清除”。
当流科技-专业Discuz建站、仿站业务,专注处理discuz!论坛挂马,专注提供论坛托管维护服务! 提供Discuz论坛空间、VPS、云服务器!咨询QQ 569160956 778521512
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐

抱歉,当前存在网络问题或服务器繁忙,详细错

主讲:我心枫叶 Discuz!教程

Discuz!论坛网盘附件免跳转下载(手机版网

主讲:当流科技 Discuz插件

宝塔面板绑定域名无法访问后台怎么解决?

主讲:风雨兼程 服务器学院

discuz论坛搬家教程,如何搬迁到新服务器?

主讲:风雨兼程 Discuz!教程

Discuz!X3.3全新安装和升级后快速回复框丢

主讲:风雨兼程 Discuz!教程

宝塔面板phpmyadmin 数据库502 Bad Gateway

主讲:当流科技 服务器学院

宝塔面板mysql怎么用navicat 连接数据库呢

主讲:当流科技 服务器学院

Discuz! X3.4虚拟人气虚拟用户在线插件 完

主讲:执手天涯 Discuz插件

商务合作

0551-66191059
service#dangliu.net
点击这里给我发消息
dz论坛/Discuz!论坛新手

关注微信公众号

QQ扫码 加 DZ技术群