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

Ubuntu环境下REDCap报错:未找到DOMDocument类问题求助

解决REDCap中DOMDocument类找不到的PHP致命错误

问题分析

报错提示Class 'DOMDocument' not found,说明PHP的DOM扩展未被Apache加载。你尝试的操作大概率存在PHP版本不匹配的问题——比如Apache实际使用PHP 8.3,但你安装的是PHP 8.0的XML扩展,或者未正确重启服务让配置生效。

解决方案步骤

1. 确认Apache使用的PHP版本

先明确当前Apache加载的PHP版本:

  • 方法1:在网站根目录创建info.php,内容如下:
    <?php phpinfo(); ?>
    
    访问该文件,查看页面顶部的PHP Version字段。
  • 方法2:通过命令行查看Apache加载的PHP模块:
    sudo apache2ctl -M | grep php
    
    输出类似php8.3_module (shared),则说明Apache用的是PHP 8.3。

2. 安装对应版本的XML扩展

DOM是PHP XML扩展的一部分,无需单独安装dom.so,只需安装对应PHP版本的XML扩展:

  • 如果Apache用PHP 8.3:
    sudo apt-get update && sudo apt-get install php8.3-xml
    
  • 如果Apache用其他版本(比如PHP 8.0):
    sudo apt-get update && sudo apt-get install php8.0-xml
    

3. 启用扩展并重启Apache

安装完成后,确保扩展被启用,然后重启Apache服务使配置生效:

sudo phpenmod dom
sudo systemctl restart apache2

4. 验证DOM扩展是否加载

  • 再次访问info.php,搜索DOM关键字,确认页面中存在DOM/XML模块的相关信息。
  • (可选)通过命令行验证(注意:命令行PHP版本可能和Apache不同,以web页面的phpinfo结果为准):
    php -m | grep dom
    

额外注意

不要手动在php.ini中添加extension=dom.so,Ubuntu的PHP包会自动通过mods-available目录管理扩展配置,手动添加可能导致路径错误或重复加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:55:15