答案是安装 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 服务。
当使用 Composer 安装或更新 PHP 项目依赖时,如果系统提示缺少ext-dom扩展,这通常是因为该扩展未安装或未启用。DOM 是 PHP 的核心扩展之一,用于处理 XML 和 HTML 文档,在许多框架(如 Laravel、Symfony)和库中被广泛依赖。
检查是否缺少 ext-dom 扩展
运行以下命令查看当前已加载的扩展:
如果没有输出或显示“Extension 'dom' not present”,说明扩展缺失。
在 Linux 下安装 ext-dom 扩展
不同于一些 PECL 扩展,DOM 是 PHP 核心组件的一部分,但默认可能未随基础包安装。根据你的 Linux 发行版,执行对应操作:
Ubuntu / Debian 系统
安装php-xml 包,它包含了 DOM、XML、SimpleXML 等所需扩展:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
如果你使用特定版本的 PHP(如 8.1),请明确指定:
CentOS / RHEL / Fedora
使用 yum 或 dnf 安装:
或(Fedora/CentOS 8+):
验证安装并继续使用 Composer
重新检查扩展是否加载:
确认出现 dom 后,再次运行 Composer 命令:
此时应不再报 ext-dom 缺失错误。
注意事项
某些共享主机或最小化部署环境可能只安装了最基础的 PHP 模块,需手动补全常用扩展。
php-xml 包通常包含多个子扩展(DOM, XML, SAX, etc),建议统一安装。
修改配置后若仍在 Web 环境报错,请重启 Web 服务(如 Apache 或 PHP-FPM)。
基本上就这些。只要补上 php-xml 软件包,Composer 就能正常识别 ext-dom,项目依赖也可顺利完成安装。
php -m | grep dom
sudo apt update
sudo apt install php-xmlsudo apt install php8.1-xmlsudo yum install php-xmlsudo dnf install php-xmlphp -m | grep domcomposer install