返回

MyBB 论坛和主题计数自动更新指南:每分钟更新

php

如何每分钟自动计算和重建 MyBB 论坛和主题

简介

作为一名论坛管理者,保持 MyBB 论坛中论坛和主题的计数准确至关重要。手动执行此任务耗时且容易出错。本文将指导您如何创建任务,以自动执行 recount_rebuild.php 文件的功能,每分钟更新 MyBB 中的论坛和主题计数。

创建任务

1. 登录 MyBB 管理面板

2. 导航至“配置”>“任务”

3. 单击“创建新任务”按钮

4. 配置任务设置

  • 任务名称: “自动计算和重建论坛和主题”
  • **** 任务的简要
  • 触发器类型: 时间间隔
  • 触发器值: 1(每分钟运行一次)

5. 添加任务脚本

粘贴以下代码到“任务脚本”字段:

<?php

require_once 'global.php';
require_once MYBB_ROOT.'inc/functions_rebuild.php';
require_once MYBB_ROOT.'inc/functions.php';

function task_recount_rebuild_forum_counters($task)
{
    global $db, $mybb, $lang;

    $query = $db->simple_select("forums", "fid", '', array('order_by' => 'fid', 'order_dir' => 'asc'));
    while($forum = $db->fetch_array($query))
    {
        $update['parentlist'] = make_parent_list($forum['fid']);
        $db->update_query("forums", $update, "fid='{$forum['fid']}'");
        rebuild_forum_counters($forum['fid']);
    }
}

function task_recount_rebuild_thread_counters($task)
{
    global $db, $mybb, $lang;

    $query = $db->simple_select("threads", "tid", '', array('order_by' => 'tid', 'order_dir' => 'asc'));
    while($thread = $db->fetch_array($query))
    {
        rebuild_thread_counters($thread['tid']);
    }
}

6. 保存任务

7. 激活任务

验证

  • 等待 1 分钟
  • 刷新 MyBB 主页
  • 检查论坛和主题计数是否更新

故障排除

  • 检查任务是否处于激活状态
  • 检查任务脚本是否正确
  • 检查 MyBB 服务器错误日志
  • 手动运行任务脚本

结论

通过创建此任务,您可以确保 MyBB 论坛和主题的计数保持准确。这将增强用户体验并提高管理效率。

常见问题解答

1. 为什么需要自动计算和重建 MyBB 论坛和主题?

  • 手动更新耗时且容易出错。

2. 如何创建任务?

  • 登录 MyBB 管理面板,导航至“配置”>“任务”,创建新任务。

3. 任务脚本是什么?

  • 该脚本包含自动更新论坛和主题计数的代码。

4. 如何验证任务是否按预期运行?

  • 等待 1 分钟,刷新 MyBB 主页,检查计数是否更新。

5. 如果任务无法运行,该怎么办?

  • 检查任务是否处于激活状态,任务脚本是否正确,并查看 MyBB 服务器错误日志。