Moodle 3.4.1服务器迁移问题求助:Require.js、jQuery等异常
Moodle迁移后问题排查建议
一、部分图片无法显示问题排查
- 核对
config.php中$CFG->dataroot配置的路径与实际moodledata文件夹路径完全一致,Linux系统严格区分大小写,注意路径拼写、大小写是否匹配 - 检查moodledata及下属文件目录的权限:确保web服务器运行用户(如www-data、apache、nginx)拥有读权限,执行以下命令修复权限:
chown -R web_user:web_group /path/to/moodledata chmod -R 750 /path/to/moodledata - 验证数据库
mdl_files表记录:查询对应图片的contenthash字段,检查moodledata/filedir下是否存在匹配的文件(如contenthash为a1b2c3,对应路径为moodledata/filedir/a1/b2/a1b2c3),若文件缺失需从原服务器拷贝
二、Require.js "No define call function"错误排查
- 执行全量缓存清除:除手动删除缓存文件夹外,用命令行工具彻底清理缓存:
若能登录后台,可进入「站点管理」→「开发」→「清除缓存」操作php admin/cli/purge_caches.php - 临时关闭JS压缩:在
config.php中将$CFG->jscompress设为false,重启web服务器后测试,排除压缩导致的JS文件损坏 - 校验核心文件完整性:运行命令检查Moodle核心文件是否在拷贝过程中损坏:
对校验失败的文件,从原服务器或官方安装包中替换php admin/cli/checksum.php - 检查web服务器静态资源缓存:临时禁用Nginx/Apache的静态资源缓存规则(如expires头),避免浏览器加载旧的缓存JS文件
三、SCORM课程加载异常排查
- 检查SCORM包内的自定义JS代码:确认包内JS未与Moodle的Require.js定义冲突,避免重复定义或错误调用
define函数 - 重置SCORM临时目录:删除moodledata下的
scorm目录,重新上传SCORM包,确保web用户对该目录有读写权限 - 验证PHP配置:检查php.ini中
allow_url_fopen和allow_url_include是否设为On,修改后重启PHP服务
内容的提问来源于stack exchange,提问作者Davide Pirelli
相关产品推荐
相关产品推荐

