再次安装Moodle
Deprecated: Return type of moodle_recordset::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/wwwroot/exercise.ink/moodle/lib/dml/moodle_recordset.php on line 61
Fatal error: Type of xml_format_exception::$line must be int (as in class Exception) in /www/wwwroot/exercise.ink/moodle/lib/xmlize.php on line 42
在官方社区中找到一个相同错误的内容:Installing and upgrading help.Deprecated error in 3.11 with latest Apache install
That particular issue is MDL-73424 (part of the ongoing PHP8.1 epic at MDL-73016)
Solution is to not use those versions of PHP, and stick to supported versions only
跟帖回复提到Moodle在PHP8.1版本中会遇到问题,只能降到PHP7.4下使用。
好在用的是宝塔面板,安装和切换PHP版本都很方便。
切换PHP7.4后问题解决。
但这应该不是终结,依稀记得Moodle对服务器和数据库有着各种各样的要求。
果然,还是遇到了每次都会复现的问题——无法建立moodledata
文件夹:
不过好在这并不是一个难以解决的问题,程序无法建立这个文件夹,就手动创建一个,并且权限修改为777
宝塔面板还有在这里把放跨站攻击
关掉。
之后,面临下一个问题安装PHP cURL
并手动上传语言包。
接下来,连接数据库:
正式安装:
遇到了意料之中的几个问题:
- 数据库版本过低;
- 缺少
fileinfo
扩展
这两个是主要问题,如果不解决掉Moodle是无法顺利安装下去的。
其他一些小问题也要一起解决,否则也会影响运行效率。
不过这个主机上升级数据库略繁琐,今天先到这。