Ошибка PHP: "Установки zip и unzip отсутствуют, пропуская".
Когда я запускаю composer update
, я получаю это сообщение об ошибке:
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
Что мне нужно сделать, чтобы включить команды zip и unzip, чтобы композитор мог загружать зависимости?
Ответы
Ответ 1
В зависимости от вашей версии Linux и PHP они могут отличаться.
(sudo) yum install zip unzip php-zip
(sudo) apt install zip unzip php-zip
Это очень часто задаваемый вопрос, вы сможете найти более полезную информацию в эфире, выполнив поиск <distro> php <version> zip extension
.
Ответ 2
Для серверов с PHP 5.6
sudo apt-get install zip unzip php5.6-zip
Ответ 3
Для Debian Jessie (который является текущим значением по умолчанию для изображения PHP на Docker Hub):
apt-get install --yes zip unzip php-pclzip
Вы можете опустить -yes, но это полезно, когда вы запускаете его в файле Docker.
Ответ 4
Для более старых дистрибутивов Ubuntu, а также 16.04, 14.04, 12.04 и т.д.
sudo apt-get install zip unzip php7.0-zip
Ответ 5
У меня был PHP7.2 на сервере Ubuntu 16.04, и он решил мою проблему:
sudo apt-get install zip unzip php-zip
Обновить
Пробовал это для Ubuntu 18.04 и тоже работал.
Ответ 6
Я использую Ubuntu и выполнил следующую команду
apt-get install --yes zip unzip
Ответ 7
Если вы используете Ubuntu и PHP 7.2, используйте это...
sudo apt-get update
sudo apt-get install zip unzip php7.2-zip
Ответ 8
Я получил эту ошибку, когда установил Laravel 5.5 на свой облачный сервер digitalocean (Ubuntu 18.04 и PHP 7.2), и следующая команда исправила его.
sudo apt install zip unzip php7.2-zip
Ответ 9
На докере с изображением php:7.2-apache
мне просто нужны были zip и unzip. Нет необходимости в php-zip:
apt-get install zip unzip
или Dockerfile
RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "zip"]
RUN ["apt-get", "install", "-y", "unzip"]
Ответ 10
На самом деле, в настоящее время composer, похоже, работает без командной строки zip
, поэтому установки php-zip
должно быть достаточно, НО будет отображаться предупреждение:
Поскольку команда unzip не установлена, файлы zip распаковываются с использованием расширения PHP zip. Это может привести к неправильным отчетам о поврежденных архивах. Установка 'unzip' может исправить их.
Смотрите также Есть ли проблема с использованием php-zip (об этом предупреждает композитор)
Ответ 11
Начиная с PHP 7.3 вам просто нужно:
apt-get update && apt-get install zip unzip