En essayant d'utiliser Composer pour créer un projet Symfony 4, j'ai eu l'erreur suivante:
steve@laptop ~ $ php composer.phar create-project symfony/skeleton my-proj
Installing symfony/skeleton (v4.0.0)
- Installing symfony/skeleton (v4.0.0): Loading from cache
Created project in my-proj
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
- symfony/framework-bundle v4.0.1 requires ext-xml * -> the requested PHP extension xml is missing from your system.
- symfony/framework-bundle v4.0.0 requires ext-xml * -> the requested PHP extension xml is missing from your system.
- Installation request for symfony/framework-bundle ^4.0 -> satisfiable by symfony/framework-bundle[v4.0.0, v4.0.1].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.2/cli/php.ini
- /etc/php/7.2/cli/conf.d/10-opcache.ini
- /etc/php/7.2/cli/conf.d/10-pdo.ini
- /etc/php/7.2/cli/conf.d/20-calendar.ini
- /etc/php/7.2/cli/conf.d/20-ctype.ini
- /etc/php/7.2/cli/conf.d/20-exif.ini
- /etc/php/7.2/cli/conf.d/20-fileinfo.ini
- /etc/php/7.2/cli/conf.d/20-ftp.ini
- /etc/php/7.2/cli/conf.d/20-gettext.ini
- /etc/php/7.2/cli/conf.d/20-iconv.ini
- /etc/php/7.2/cli/conf.d/20-json.ini
- /etc/php/7.2/cli/conf.d/20-phar.ini
- /etc/php/7.2/cli/conf.d/20-posix.ini
- /etc/php/7.2/cli/conf.d/20-readline.ini
- /etc/php/7.2/cli/conf.d/20-shmop.ini
- /etc/php/7.2/cli/conf.d/20-sockets.ini
- /etc/php/7.2/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.2/cli/conf.d/20-sysvsem.ini
- /etc/php/7.2/cli/conf.d/20-sysvshm.ini
- /etc/php/7.2/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.
steve@laptop ~ $ php --ini
steve@laptop ~ $ php --version
PHP 7.2.0-2+ubuntu16.04.1+deb.sury.org+2 (cli) (built: Dec 7 2017 20:14:31) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.2.0-2+ubuntu16.04.1+deb.sury.org+2, Copyright (c) 1999-2017, by Zend Technologies
steve@laptop ~ $ Sudo apt-get install php-xml
[Sudo] password for steve:
Reading package lists... Done
Building dependency tree
Reading state information... Done
php-xml is already the newest version (1:7.1+55+ubuntu16.04.1+deb.sury.org+1).
0 to upgrade, 0 to newly install, 0 to remove and 253 not to upgrade.
J'ai cherché dans php.ini pour ext-xml pour voir si je pouvais le décommenter afin de l'activer mais je n'ai trouvé aucune mention d'ext-xml. Je n'ai cherché nulle part ailleurs parce que je ne sais pas trop ce que je fais.
Toute aide serait très appréciée, Steve
Il semble que vous utilisiez ubuntu 16.04 avec le ppa ondrej/php pour obtenir la dernière version de php. Dans ce cas, les noms des packages doivent correspondre à la version de php que vous utilisez:
apt-get install php7.2-xml
Vous pouvez voir les différentes versions disponibles avec quelque chose comme ceci:
apt-cache search php | grep xml
Selon votre configuration, vous devrez peut-être préfixer la commande d'installation avec Sudo
.
Supprimez toutes les versions de php et installez une seule version