You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ubuntu虚拟机安装Moodle3.9时遇Web安装器致命错误求助

解决Moodle Web安装时的"Cannot use 'object' as class name"致命错误

这个错误的根源很清晰——PHP 7.2及更高版本已经把object列为保留关键字,绝对不能用来作为类名使用。你遇到的问题,本质是当前安装的Moodle版本和PHP 7.4不兼容:旧版Moodle的代码里存在用object作为类名的定义(正好在setuplib.php第66行),而PHP 7.4严格禁止这种用法。

下面是具体的解决步骤:

  • 第一步:确认Moodle版本兼容性
    先核对你下载的Moodle版本:只有Moodle 3.8及以上版本才正式支持PHP 7.4。如果你的Moodle版本是3.7或更早,必然会出现这个关键字冲突。

  • 第二步:升级到兼容的Moodle版本(推荐方案)
    这是最稳妥且能避免后续问题的解决方式:

    1. 先备份当前虚拟机里的Moodle文件和已创建的数据库(如果有的话)
    2. 下载支持PHP 7.4的Moodle版本(优先选LTS长期支持版,比如3.9或3.10)
    3. 替换/var/www/html/moodle目录下的所有文件(注意保留之前的config.php和moodledata目录,避免丢失配置和数据)
    4. 重新访问/moodle/install.php继续安装流程
  • 临时应急修复(不推荐长期使用)
    如果暂时无法升级版本,可以手动修改冲突代码过渡:

    1. 打开/var/www/html/moodle/lib/setuplib.php文件,定位到第66行
    2. 把class object改成一个非保留字的类名,比如class MoodleSetupObject
    3. 全局搜索整个Moodle代码库,找到所有引用这个object类的地方,同步修改为新的类名
      不过这种方法可能会引发其他未知的兼容性问题,只建议作为临时过渡方案。

内容的提问来源于stack exchange,提问作者toni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:07:52