当前位置:首页 > 百科

discuz工具

Discuz 论坛程序从 2001 年走到现在,工具后台管理面板里那些密密麻麻的工具选项,比很多人的工具工位抽屉还乱。我见过一个站长,工具光是工具为了让用户上传的头像能自动裁剪成圆形,翻了四十多页官方文档,工具最后在一个 2013 年的工具帖子里找到了答案——改 template 文件里的一个 CSS 类名。这就是工具 Discuz 的日常:功能全得吓人,但找起来费劲。工具

所谓“Discuz 工具”,工具其实分两类。工具一类是工具官方自带的后台工具,另一类是工具第三方开发者写的辅助脚本。前者像一把瑞士军刀,工具什么都有,工具但每一把刀刃都钝得让人着急。比如“数据库优化”功能,点一下能清理冗余数据,可它不会告诉你哪些表该清、哪些清了会出事。我亲眼见过有人手贱点了“重建缓存”,结果论坛首页直接白屏,因为缓存目录权限不对,程序写不进去。

第三方工具就野多了。早些年有个叫“Discuz 工具箱”的 PHP 单文件,丢到根目录就能跑,功能包括批量替换用户签名、强制修改帖子标题、一键关闭所有板块的 HTML 权限。这东西救过急——论坛被灌了几万条垃圾帖,后台删到手抽筋,用它一条 SQL 就清干净了。但它也危险。有个版本的工具带了个“修复数据库”按钮,实际上执行的是 REPAIR TABLE,如果表引擎是 InnoDB,这命令根本没用,反而可能锁表。作者没写清楚,用户点了,论坛卡了半小时。

真正实用的工具往往很土。比如 tools.php 这个文件,Discuz 官方包裡就有,放在 utility 目录下。它能重置管理员密码、关闭所有插件、修复常见数据库错误。很多站长不知道它的存在,论坛出问题了就慌,其实上传这个文件,浏览器访问,按提示操作就能救回来。我帮人处理过至少五次“管理员登不进去”的求助,四次都是靠这个土工具解决的。剩下那次是服务器硬盘满了,跟 Discuz 没关系。

还有一些工具是围绕内容管理的。比如“批量移动主题”这个后台功能,表面看很简单,选板块、选帖子、点移动。但如果你要移动的帖子超过两千条,浏览器大概率超时。这时候得用命令行工具,或者写个 PHP 脚本直接调 Discuz 的数据库函数。我写过一次,循环里每处理 500 条就 sleep(1),防止 MySQL 连接被掐断。这种细节官方文档不会写,得自己踩坑。

安全类工具更微妙。Discuz 的 config_global.php 里有个 $_config['security']['attackevasive'] 参数,设成 1 是 cookie 防御,设成 2 是限制同一 IP 的请求频率。但设成 2 之后,搜索引擎蜘蛛可能被误封,导致收录暴跌。有个站长找我,说百度收录从两万掉到两百,查了半天,就是因为他开了这个“安全工具”。工具本身没错,用错了场景。

插件市场里的工具鱼龙混杂。一个“帖子自动回复”插件,卖 88 块,装完发现它用 curl 模拟用户请求,每回复一次就发一个 HTTP 请求,服务器负载直接翻倍。另一个“附件下载统计”工具,写了个 file_put_contents 到日志文件,没加锁,并发一高日志就乱码。这些工具的作者多半是兼职,写完能跑就行,不考虑边界情况。

我的建议是:能用官方工具就别用第三方的。官方工具虽然界面丑、文档少,但至少逻辑是通的。用第三方工具之前,先备份数据库和 config 目录。别信“一键修复”这种话,Discuz 的数据库结构复杂,一键修复往往意味着一键搞砸。最后,工具只是工具,论坛的核心是内容和人。我见过一个站,后台工具用得飞起,自动签到、自动顶帖、自动采集,结果用户全是机器人,三个月后关站。工具没帮他留住人。

分享到: