我正在尝试将Moodle 2.7升级到3.1 。但出于某种原因,我无法做到。这是错误:
Coding error detected, it must be fixed by a programmer: The data source class does not exist.
Debug info:
Error code: codingerror
Stack trace:
line 498 of /cache/classes/definition.php: coding_exception thrown
line 515 of /cache/classes/helper.php: call to cache_definition::load()
line 480 of /cache/classes/helper.php: call to cache_helper::purge_store()
line 323 of /admin/index.php: call to cache_helper::purge_all()
这可能是什么问题?
答案 0 :(得分:0)
您可能删除了从任何db/caches.php
加载缓存定义时要包含的文件。为datasource
grep这些文件,这将帮助您确定问题所在。
另一个原因是无法找到该类,因为缓存代码在设置自动加载定义之前运行。这将是非常令人惊讶的,但您可以查看[moodledatafolder]/cache/core_component.php
以查看该类是否在那里,并且其路径是否存在。
答案 1 :(得分:0)
尝试从2.8版更新到3.1版时,我遇到了完全相同的问题,我在此Moodle Tracker issue中找到了解决方案:
删除了以下目录(并让Moodle重建它们), 缓存,锁定,临时,trashdir,会话,localcache,muc(以及其他任何内容) 否则不应该在那里)。显然不要删除您的 文件/文件目录!
万一有人遇到这个问题,我就离开解决方案。
cd /var/moodledata
rm -fr ./cache/ ./lock/ ./temp/ ./trashdir/ ./sessions/ ./localcache/ ./muc/