usuario3425506
Al intentar usar Composer para crear un proyecto de Symfony 4, recibí el siguiente error:
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.
Busqué en php.ini para ext-xml para ver si podía descomentarlo para habilitarlo, pero no encontré ninguna mención de ext-xml. No he buscado en ningún otro lugar porque no estoy muy seguro de lo que estoy haciendo.
Cualquier ayuda sería muy apreciada, Steve
astrangeloop
Parece que está usando ubuntu 16.04 con ondrej/php ppa para obtener la última versión de php. En este caso, los nombres de los paquetes deben coincidir con la versión de php que está utilizando:
apt-get install php7.2-xml
Puedes ver las diferentes versiones disponibles con algo como esto:
apt-cache search php | grep xml
Dependiendo de su configuración, es posible que necesite prefijar el comando de instalación con sudo
.
-
Muchas gracias. Esto me permitió hacer funcionar Symfony 4. Estoy ejecutando Linux Mint 18.2 Sonya, que creo que está basado en Ubuntu 16.04. Actualicé php desde ondrej/php ppa, lo que resolvió muchos problemas relacionados con la obtención de Symfony 4, pero no el problema de php-xml.
– usuario3425506
11 de diciembre de 2017 a las 19:46
anson thomas
Pruebe el Paso 1:
sudo apt install php-xml
Paso 2: reiniciar apache
Resuelto mi problema
-
¡Gracias, esto resolvió mi problema con Symfony 5!
–Lucas Ramos
27 de diciembre de 2021 a las 17:44
En Amazon Linux o Centos
sudo yum install php-xml
si estás corriendo nginx
no es necesario reiniciar
Elimine todas las versiones de php e instale solo una versión
Posible duplicado de extensión XML no encontrado
– Jan Zerebecki
11/12/2017 a las 18:35