Lorsque je lance un composer update
, je reçois ce message d'erreur:
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
Que dois-je faire pour activer les commandes Zip et unzip afin que composer puisse télécharger des dépendances?
Selon votre version de Linux et la version PHP, celles-ci peuvent varier.
(Sudo) yum install Zip unzip php7.0-Zip
(Sudo) apt install Zip unzip php7.0-Zip
Ceci est une question très souvent posée, vous pourrez trouver plus d’informations utiles dans l’éther en cherchant <distro> php <version> Zip extension
.
Pour les serveurs avec PHP 5.6
Sudo apt-get install Zip unzip php5.6-Zip
Pour Debian Jessie (qui est la valeur par défaut pour l'image PHP sur Docker Hub):
apt-get install --yes Zip unzip php-pclzip
Vous pouvez omettre le --oui, mais c'est utile lorsque vous l'exécutez dans un fichier Docker.
Pour les distributions Ubuntu plus anciennes, à savoir 16.04, 14.04, 12.04 etc.
Sudo apt-get install Zip unzip php7.0-Zip
J'ai eu PHP7.2 sur un serveur Ubuntu 16.04 et cela a résolu mon problème:
Sudo apt-get install Zip unzip php-Zip
Mettre à jour
J'ai essayé cela pour Ubuntu 18.04 et j'ai également travaillé.
J'utilise Ubuntu et avec la commande suivante a fonctionné
apt-get install --yes Zip unzip
Si vous utilisez Ubuntu et PHP 7.2 , utilisez ceci ...
Sudo apt-get update
Sudo apt-get install Zip unzip php7.2-Zip
J'ai eu cette erreur lorsque j'ai installé Laravel 5.5 sur mon serveur cloud digitalocean (Ubuntu 18.04 et PHP 7.2) et que la commande suivante l'a corrigée.
Sudo apt install Zip unzip php7.2-Zip
Actuellement, composer semble fonctionner sans la commande en ligne de commande Zip
. L'installation de php-Zip
devrait donc suffire --- MAIS un avertissement apparaît:
Comme il n’existe pas de commande 'décompresser' installée, les fichiers Zip sont décompressés à l’aide du fichier PHP Extension Zip . Cela peut entraîner des rapports non valides d'archives corrompues. L'installation de 'unzip' peut remédiez-les.
Voir aussi Existe-t-il un problème d'utilisation de php-zip (le compositeur nous en avertit)
Sur le menu fixe avec l'image php:7.2-Apache
je n'avais besoin que de Zip et de décompresser. Pas besoin de php-zip:
apt-get install Zip unzip
ou Dockerfile
RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "Zip"]
RUN ["apt-get", "install", "-y", "unzip"]