Ubuntu系统安装Laravel失败:PHP ext-dom扩展无法启用求助
解决Composer安装PHPUnit时的ext-dom扩展缺失错误
错误原因
phpunit/phpunit[9.5.10, ..., 9.6.x-dev]依赖ext-dom扩展,但当前系统未安装或启用该扩展- 项目根目录的
composer.json要求phpunit/phpunit ^9.5.10,该需求可由上述版本范围的PHPUnit满足
解决方案
1. 安装并启用ext-dom扩展
- 先确认PHP CLI模式下使用的配置文件:
php --ini - 检查以下配置文件(或
php --ini输出的文件)中是否启用了ext-dom,确保存在extension=dom(Linux系统可能为extension=dom.so,Windows系统需取消对应行的注释):- /etc/php/7.4/cli/php.ini - /etc/php/7.4/cli/conf.d/10-mysqlnd.ini - /etc/php/7.4/cli/conf.d/10-opcache.ini - /etc/php/7.4/cli/conf.d/10-pdo.ini - /etc/php/7.4/cli/conf.d/20-calendar.ini - /etc/php/7.4/cli/conf.d/20-ctype.ini - /etc/php/7.4/cli/conf.d/20-exif.ini - /etc/php/7.4/cli/conf.d/20-ffi.ini - /etc/php/7.4/cli/conf.d/20-fileinfo.ini - /etc/php/7.4/cli/conf.d/20-ftp.ini - /etc/php/7.4/cli/conf.d/20-gettext.ini - /etc/php/7.4/cli/conf.d/20-iconv.ini - /etc/php/7.4/cli/conf.d/20-json.ini - /etc/php/7.4/cli/conf.d/20-mysqli.ini - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini - /etc/php/7.4/cli/conf.d/20-phar.ini - /etc/php/7.4/cli/conf.d/20-posix.ini - /etc/php/7.4/cli/conf.d/20-readline.ini - /etc/php/7.4/cli/conf.d/20-shmop.ini - /etc/php/7.4/cli/conf.d/20-sockets.ini - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini - /etc/php/7.4/cli/conf.d/20-sysvsem.ini - /etc/php/7.4/cli/conf.d/20-sysvshm.ini - /etc/php/7.4/cli/conf.d/20-tokenizer.ini - 根据系统安装扩展:
- Debian/Ubuntu:
sudo apt install php7.4-dom - CentOS/RHEL:
sudo yum install php74-php-dom - Windows:打开PHP配置文件,取消
;extension=dom行的注释(去掉分号)
- Debian/Ubuntu:
2. 临时忽略扩展要求(无法启用扩展时)
运行Composer命令时添加参数跳过平台检查:
composer install --ignore-platform-req=ext-dom # 或更新依赖时使用 composer update --ignore-platform-req=ext-dom
内容的提问来源于stack exchange,提问作者Thach Mao
相关产品推荐
相关产品推荐

