Cuando ejecuto un composer updatemensaje 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?
php
composer-php
b85411
fuente
fuente

composer update --prefer-sourceTuve este problema al intentarcomposer updatephpspec.Failed to download symfony/polyfill-ctype from dist: The zip extension and unzip command are both missing, skipping.Estoy en una Mac y tuve problemas para hacer que Homebrew funcione para instalar extensiones php. Por lo tanto, mi solución rápida era obligarcomposerno a la necesidad de su uso postal añadiendo la opción --prefer de código. Esto significa que descarga el repositorio en lugar de un paquete comprimido. No es una solución a largo plazo, pero es útil saberlo.Respuestas:
Dependiendo de su versión de Linux y PHP, esto puede variar.
Esta es una pregunta muy común, podrá buscar más información útil en el éter mediante la búsqueda
<distro> php <version> zip extension.fuente
apt-get install php-zipes suficientephp[version]-packagevsphp-packagepara cualquier paquete dado? Me encantaría saber que generalmente solo uso laphp[version]-packageversión, pero tal vez eso no sea óptimo ...php-<package>es la versión predeterminada. Estos paquetes solo dependen de la versión más reciente. Si necesita alguna versión específica (generalmente más antigua), instalephp<version>-<package>.# yum install zip unzip php7.2-zip(en CentOS 7)Para servidores con PHP 5.6
fuente
Para Debian Jessie (que es el valor predeterminado actual para la imagen PHP en Docker Hub):
Puede omitir --yes, pero es útil cuando lo está EJECUTANDO en un Dockerfile.
fuente
php-zip: DPara distribuciones de Ubuntu anteriores, es decir, 16.04, 14.04, 12.04, etc.
fuente
Tenía PHP7.2 en un servidor Ubuntu 16.04 y resolvió mi problema:
sudo apt-get install zip unzip php-zipActualizar
Probé esto para Ubuntu 18.04 y funcionó también.
fuente
Estoy usando Ubuntu y con el siguiente comando funcionó
apt-get install --yes zip unzipfuente
No para diferir el punto, pero si está trabajando en un
Dockerfile, resolverá este problema particular con Composer instalando launziputilidad. A continuación se muestra un ejemplo que utiliza la imagen oficial de PHP para instalarunzipy lazipextensión PHP para una buena medida.Este es un problema útil de GitHub de donde lo anterior se levanta con amor.
fuente
Si está usando Ubuntu y PHP 7.2 , use esto ...
fuente
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ó.
fuente
En la ventana acoplable con imagen
php:7.2-apache, solo necesitaba comprimir y descomprimir. No hay necesidad de php-zip:apt-get install zip unzipo Dockerfile
fuente
En realidad, el compositor de hoy en día parece funcionar sin el
zipcomando de línea de comando, por lo que la instalaciónphp-zipdebería ser suficiente, PERO mostraría una advertencia:Consulte también ¿Hay algún problema con el uso de php-zip (el compositor lo advierte)
fuente