Moodle 3.9无法复制测验问题求助
Moodle 3.9 复制测验页面冻结问题排查
问题描述
在Moodle 3.9中执行测验复制操作时页面卡住冻结,已开启全部调试选项但前端无任何异常提示;课程内的考勤模块、PDF文件可正常复制,仅测验模块出现该问题。
附相关截图
- 调试设置状态:

- 页面加载卡住状态:

排查与解决步骤
1. 检查服务器端日志
前端无报错时,服务器日志是核心排查依据:
- 查看Moodle本地错误日志:路径通常为
moodledata/debug.log,定位复制操作时间点的相关报错信息 - 查看Web服务器日志(Apache/Nginx):检查是否存在5xx错误、PHP超时或内存溢出记录
- 查看PHP错误日志:确认是否有脚本执行超时、内存不足或函数调用异常
2. 排查测验内容特殊性
测验可能包含特殊元素导致复制流程中断:
- 检查目标测验是否包含大量试题、特殊题型(如交互式试题、第三方插件提供的题型)
- 验证测验是否关联了外部资源(如嵌入的未同步媒体文件、外部链接)
- 尝试复制一个仅含少量基础题型(如选择题、判断题)的简单测验,确认是否为特定测验内容引发问题
3. 验证数据库状态
测验复制涉及多表操作,可能存在表损坏或锁表情况:
- 执行数据库检查表命令(以MySQL为例):
CHECK TABLE mdl_quiz, mdl_question, mdl_quiz_attempts; - 查看数据库锁表记录,确认复制操作是否因锁表无法推进
4. 调整PHP运行配置
复制大体积测验可能触发PHP默认限制:
- 临时调高PHP的
max_execution_time(如设置为300)和memory_limit(如设置为512M) - 操作完成后调回原配置,避免影响服务器性能
5. 排查插件冲突
第三方插件可能干扰测验复制逻辑:
- 临时禁用所有非核心的测验/试题相关插件,尝试重新执行复制操作
- 逐个启用插件,定位导致冲突的具体插件
6. 替代方案:手动导出/导入测验
若上述方法无效,可采用手动迁移方式:
- 在原测验页面点击【导出】,选择Moodle XML格式导出试题包
- 在目标课程创建新测验,点击【导入】上传导出的XML文件
内容的提问来源于stack exchange,提问作者meetStackOverflow
相关产品推荐
相关产品推荐

