mac - Error de PHP: "Faltan la extensión zip y el comando descomprimir".
install composer mac (10)
Dependiendo de su versión de Linux y PHP, esto puede variar.
(sudo) yum install zip unzip php7.0-zip
(sudo) apt install zip unzip php7.0-zip
Esta es una pregunta muy común, podrá encontrar más información útil en el éter al buscar la
<distro> php <version> zip extension
.
Cuando ejecuto una
composer update
me sale este mensaje de error:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Failed to download psr/log from dist: The zip extension and unzip command are both missing, skipping.
The php.ini used by your command-line PHP is: /etc/php/7.0/cli/php.ini
Now trying to download from source
¿Qué debo hacer para habilitar los comandos zip y descomprimir para que el compositor pueda descargar dependencias?
En la ventana acoplable con imagen
php:7.2-apache
solo necesitaba zip y descomprimir.
No hay necesidad de php-zip:
apt-get install zip unzip
o Dockerfile
RUN ["apt-get", "update"] RUN ["apt-get", "install", "-y", "zip"] RUN ["apt-get", "install", "-y", "unzip"]
En realidad, el compositor de hoy en día parece funcionar sin el comando de línea de comando
zip
, por lo que instalar
php-zip
debería ser suficiente, PERO mostraría una advertencia:
Como no hay un comando ''descomprimir'', los archivos zip instalados se descomprimen utilizando la extensión zip de PHP. Esto puede causar informes no válidos de archivos corruptos. Instalar ''descomprimir'' puede remediarlos.
Consulte también ¿Hay algún problema con el uso de php-zip (el compositor advierte al respecto)
Estoy usando Ubuntu y con el siguiente comando funcionó
apt-get install --yes zip unzip
Para Debian Jessie (que es el valor predeterminado actual para la imagen PHP en Docker Hub):
apt-get install --yes zip unzip php-pclzip
Puede omitir --yes, pero es útil cuando lo EJECUTAS en un Dockerfile.
Para distribuciones de Ubuntu anteriores, es decir, 16.04, 14.04, 12.04, etc.
sudo apt-get install zip unzip php7.0-zip
Para servidores con PHP 5.6
sudo apt-get install zip unzip php5.6-zip
Recibí este error cuando instalé Laravel 5.5 en mi servidor de nube digitalocean (Ubuntu 18.04 y PHP 7.2) y el siguiente comando lo solucionó.
sudo apt install zip unzip php7.2-zip
Si está usando Ubuntu y PHP 7.2 , use esto ...
sudo apt-get update
sudo apt-get install zip unzip php7.2-zip
Tenía PHP7.2 en un servidor Ubuntu 16.04 y resolvió mi problema:
sudo apt-get install zip unzip php-zip
Actualizar
Probé esto para Ubuntu 18.04 y funcionó también.