Подтвердить что ты не робот

Ошибка 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, чтобы композитор мог загружать зависимости?

4b9b3361

Ответ 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