答案是安装 php-xml 扩展包可解决 ext-dom 缺失问题。在 Linux 系统中,DOM 属于 PHP 核心扩展但需通过安装 php-xml 包启用,Ubuntu/Debian 用户执行 sudo apt install php-xml 或指定版本如 php8.1-xml,CentOS/RHEL/Fedora 用户使用 yum 或 dnf 安装 php-xml,随后通过 php -m | grep dom 验证扩展存在,确认后运行 composer install 即可正常完成依赖安装,若 Web 环境仍报错需重启 Apache 或 PHP-FPM 服务。

检查是否缺少 ext-dom 扩展
运行以下命令查看当前已加载的扩展:
php -m | grep dom如果没有输出或显示“Extension 'dom' not present”,说明扩展缺失。
在 Linux 下安装 ext-dom 扩展
不同于一些 PECL 扩展,DOM 是 PHP 核心组件的一部分,但默认可能未随基础包安装。根据你的 Linux 发行版,执行对应操作:Ubuntu / Debian 系统
安装 php-xml 包,它包含了 DOM、XML、SimpleXML 等所需扩展:
sudo apt update如果你使用特定版本的 PHP(如 8.1),请明确指定:
sudo apt install php-xml
sudo apt install php8.1-xml
CentOS / RHEL / Fedora
使用 yum 或 dnf 安装:
sudo yum install php-xml或(Fedora/CentOS 8+):
sudo dnf install php-xml
验证安装并继续使用 Composer
重新检查扩展是否加载:php -m | grep dom确认出现 dom 后,再次运行 Composer 命令:
composer install此时应不再报 ext-dom 缺失错误。
注意事项
- 某些共享主机或最小化部署环境可能只安装了最基础的 PHP 模块,需手动补全常用扩展。
- php-xml 包通常包含多个子扩展(DOM, XML, SAX, etc),建议统一安装。
- 修改配置后若仍在 Web 环境报错,请重启 Web 服务(如 Apache 或 PHP-FPM)。










