XAMPP安装的Moodle 3.11设置定时测验后提示不可用如何解决
Moodle 3.11测验定时不可用问题排查与解决方案
基础配置排查
- 核对测验的时间设置细节:检查「开放测验时间」「关闭测验时间」的时区设置是否与系统、用户个人资料时区三者一致。Moodle 3.11默认支持多级时区配置,哪怕系统时间正确,若测验单独设置了其他时区、或者用户个人资料时区与服务端时区不匹配,也会触发不可用提示。
- 检查测验的访问限制叠加规则:除了定时规则外,是否同时设置了先决条件,比如要求完成前置活动、用户组权限限制、密码保护未输入等,多个限制条件同时未满足时也会优先弹出该通用提示。
- 验证用户角色权限:确认当前访问用户是否被分配了「尝试测验」权限,部分自定义角色如果移除了
mod/quiz:attempt权限,哪怕时间符合也会显示不可用。
服务端配置排查
- 检查XAMPP的PHP时区配置:打开XAMPP控制面板,点击Apache行的
Config按钮,选择php.ini文件,搜索date.timezone参数,确认配置值与Moodle后台设置的时区一致,比如国内环境可设置为date.timezone = PRC,修改后重启Apache生效。 - 核对Moodle服务端时区配置:登录Moodle管理员账户,依次进入「网站管理」-「位置」-「位置设置」,确认「默认时区」参数与系统、PHP时区完全匹配。
- 清理Moodle缓存:时间类配置修改后可能被缓存拦截,依次进入「网站管理」-「开发」-「清除所有缓存」,清理后再重新访问测验页面验证。
特殊场景修复
如果以上排查都没有问题,大概率是Moodle 3.11的已知定时规则缓存bug,可以通过以下操作修复:
编辑对应测验的定时设置,随便修改一个时间参数保存后,再改回原来的正确时间重新保存,触发定时规则的缓存刷新即可。
如果还是存在异常,可以尝试编辑测验的「可用性」设置,先关闭时间限制保存后,再重新开启设置正确时间,即可解决规则不生效的问题。
内容的提问来源于stack exchange,提问作者Oluwaseun Adesina
相关产品推荐
相关产品推荐

