[php] 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 명령을 사용하려면 어떻게해야합니까?



답변

Linux 및 PHP 버전에 따라 다를 수 있습니다.

(sudo) yum install zip unzip php-zip
(sudo) apt install zip unzip php-zip

이것은 매우 일반적으로 묻는 질문이며을 검색하여 에테르에서 더 유용한 정보를 찾을 수 있습니다 <distro> php <version> zip extension.


답변

PHP 5.6이 설치된 서버의 경우

sudo apt-get install zip unzip php5.6-zip


답변

Debian Jessie (Docker Hub의 PHP 이미지에 대한 현재 기본값) :

apt-get install --yes zip unzip php-pclzip

–yes를 생략 할 수 있지만 Dockerfile에서 실행할 때 유용합니다.


답변

이전 우분투 배포판의 경우, 즉 16.04, 14.04, 12.04 등

sudo apt-get install zip unzip php7.0-zip


답변

Ubuntu 16.04 서버에서 PHP7.2를 사용하여 문제를 해결했습니다.

sudo apt-get install zip unzip php-zip

최신 정보

우분투 18.04에서 이것을 시도하고 또한 효과가있었습니다.


답변

우분투를 사용하고 있으며 다음 명령을 사용했습니다.

apt-get install --yes zip unzip


답변

요점을 설명하지는 않지만에서 작업중인 경우 유틸리티 Dockerfile를 설치하여 Composer의 특정 문제를 해결할 수 있습니다 unzip. 아래는 공식 PHP 이미지 를 사용하여 설치 unzip하고 zipPHP 확장을 사용하여 좋은 예입니다.

FROM php:7.4-apache

# Install Composer
COPY --from=composer /usr/bin/composer /usr/bin/composer

# Install unzip utility and libs needed by zip PHP extension 
RUN apt-get update && apt-get install -y \
    zlib1g-dev \
    libzip-dev \
    unzip
RUN docker-php-ext-install zip

이것은 위의 내용이 사랑스럽게 들리는 유용한 GitHub 문제 입니다.