You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Moodle论坛通知无法接收,Cron任务遇方法未定义报错求助

解决Moodle Cron任务报错及论坛通知问题

问题定位

你碰到的Exception - Call to undefined method quiz_statistics\task\recalculate::set_last_run_time()错误,核心原因是quiz_statistics插件的定时任务类没有正确继承Moodle的定时任务基类,导致Cron执行时找不到必要的核心方法,直接中断了整个Cron流程——而论坛通知是依赖Cron触发发送的,自然就收不到了。

修复步骤

  • 先核对插件兼容性:确认你的Moodle版本和quiz_statistics插件版本是否匹配。如果是手动装的第三方插件,找插件官方页面查适配列表;如果是Moodle自带的核心插件,说明核心文件大概率损坏了。
  • 修复或替换插件文件:
    • 第三方插件:卸载当前版本,重新下载对应Moodle版本的兼容包安装。
    • 核心插件:从Moodle官方下载同版本的完整安装包,提取/mod/quiz/statistics/task/recalculate.php文件,替换你站点上的对应文件,同时把文件权限设为服务器可读(一般是755或644)。
  • 验证Cron任务:替换完成后,手动触发一次Cron——要么访问站点的/admin/cron.php页面,要么用Hostinger面板的Cron手动执行功能,看还有没有报错。
  • 确认通知恢复:Cron正常运行后,去论坛发个测试回复,等几分钟查收通知;也可以去站点的/admin/tool/task/scheduledtasks.php页面,查看Forum notifications任务的最近运行状态。

额外排查点

  • 检查Hostinger的Cron命令是否正确,标准Moodle Cron命令应该是php /path/to/your/moodle/admin/cron.php,记得替换成你站点的实际路径,还要确保用的PHP版本和Moodle要求一致。
  • 如果替换文件后还报错,清空Moodle缓存(后台/admin/purgecaches.php),避免旧类缓存搞出问题。

内容的提问来源于stack exchange,提问作者Howard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 04:53:24