PHP7: installe le problème d’ext-dom

J’exécute laravel 5.4 sur le serveur Ubuntu 16.04 avec PHP7. essayant d’installer le cviebrock/eloquent-sluggable jette une erreur:

 pish@let:/home/sherk/ftp/www$ sudo composer require cviebrock/eloquent-sluggable Do not run Composer as root/super user! See https://getcomposer.org/root for details Using version ^4.2 for cviebrock/eloquent-sluggable ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - phpunit/php-code-coverage 4.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system. - phpunit/php-code-coverage 4.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system. - Installation request for phpunit/php-code-coverage (installed at 4.0.7) -> satisfiable by phpunit/php-code-coverage[4.0.7]. To enable extensions, verify that they are enabled in those .ini files: - /etc/php/7.0/cli/php.ini - /etc/php/7.0/cli/conf.d/10-mysqlnd.ini - /etc/php/7.0/cli/conf.d/10-opcache.ini - /etc/php/7.0/cli/conf.d/10-pdo.ini - /etc/php/7.0/cli/conf.d/20-calendar.ini - /etc/php/7.0/cli/conf.d/20-ctype.ini - /etc/php/7.0/cli/conf.d/20-exif.ini - /etc/php/7.0/cli/conf.d/20-fileinfo.ini - /etc/php/7.0/cli/conf.d/20-ftp.ini - /etc/php/7.0/cli/conf.d/20-gd.ini - /etc/php/7.0/cli/conf.d/20-gettext.ini - /etc/php/7.0/cli/conf.d/20-iconv.ini - /etc/php/7.0/cli/conf.d/20-json.ini - /etc/php/7.0/cli/conf.d/20-mbssortingng.ini - /etc/php/7.0/cli/conf.d/20-mcrypt.ini - /etc/php/7.0/cli/conf.d/20-mysqli.ini - /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini - /etc/php/7.0/cli/conf.d/20-phar.ini - /etc/php/7.0/cli/conf.d/20-posix.ini - /etc/php/7.0/cli/conf.d/20-readline.ini - /etc/php/7.0/cli/conf.d/20-shmop.ini - /etc/php/7.0/cli/conf.d/20-sockets.ini - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini - /etc/php/7.0/cli/conf.d/20-sysvsem.ini - /etc/php/7.0/cli/conf.d/20-sysvshm.ini - /etc/php/7.0/cli/conf.d/20-tokenizer.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. Installation failed, reverting ./composer.json to its original content. 

Je n’ai aucun problème à installer ce package sur la version locale de l’application.

Tout d’abord, lisez l’avertissement! Il dit ne pas exécuter compositeur en tant que root ! Deuxièmement, vous utilisez probablement Xammp sur votre version locale qui a les bibliothèques PHP requirejses par défaut.

Mais dans votre serveur, il vous manque ext-dom . php7.1-xml a tous les paquets nécessaires dont vous avez besoin. Donc, vous pouvez simplement l’installer en exécutant:

 sudo apt-get update sudo apt-get install php7.1-xml 

Vous avez probablement aussi mbssortingng . Si vous obtenez l’erreur, installez également ce package avec:

 sudo apt-get install php-mbssortingng 

Puis lancez:

 composer update composer require cviebrock/eloquent-sluggable 

Pour ceux qui veulent installer ext-dom sur php 7.2, exécutez cette commande:

 sudo apt install php-xml