答案:启用php的dom扩展可解决该错误。首先通过php -m检查是否加载dom扩展,若未加载则编辑php.ini文件,取消extension=dom前的注释,保存后重启Web服务器或PHP-FPM;linux用户可安装php-dom对应版本包,windows用户需确认php_dom.dll存在并正确配置extension_dir,最后验证dom出现在php -m输出中即可。

出现 “The requested PHP extension dom is missing” 错误,说明当前 PHP 环境缺少 DOM 扩展。这个扩展是 PHP 处理 xml 和 html 文档的基础组件,composer 的某些依赖包需要它才能正常运行。
检查并启用 DOM 扩展
DOM 扩展通常包含在标准 PHP 安装中,但可能未启用。按以下步骤操作:
- 运行命令查看已加载的扩展:
php -m | grep dom
如果输出中没有 dom,说明未启用。 - 找到 php.ini 配置文件:
php –ini
查看 Loaded Configuration File 路径。 - 编辑 php.ini 文件,查找类似下面这行:
;extension=dom
去掉前面的分号(;)取消注释,确保为:
extension=dom - 保存文件后重启 Web 服务器或 PHP-FPM 服务(如使用 apache 或 nginx)。
Linux 系统下安装(以 ubuntu/debian 为例)
如果确认未安装,可通过包管理器安装:
- 运行命令:
sudo apt-get install php-dom
注意:版本需与当前 PHP 版本匹配,例如 php8.1-dom。 - 安装完成后无需手动修改配置,通常会自动启用。
Windows 系统处理方式
Windows 用户请检查 PHP 安装目录下的 php.ini:
立即学习“PHP免费学习笔记(深入)”;
- 确保 extension_dir 指向正确的扩展目录(如 ext/)。
- 确认 php_dom.dll 存在于 ext 目录中。
- 在 php.ini 中启用:
extension=dom - 重启服务使更改生效。
验证修复结果
执行以下命令确认 DOM 扩展已加载:
php -m | grep dom
应看到输出:dom。此时再运行 Composer 命令,错误应消失。
基本上就这些。只要确保 DOM 扩展启用,问题就能解决。不复杂但容易忽略。