source

PHP 오류: "zip 확장 및 unzip 명령이 모두 없습니다. 건너뜁니다."

itover 2022. 11. 11. 23:30
반응형

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 명령어를 활성화하여 Composer가 의존관계를 다운로드할 수 있도록 하려면 어떻게 해야 합니까?

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

요점을 강조하기 위해서가 아니라, 만약 당신이 여기서 일하고 있다면DockerfileComposer를 사용하여 이 특정 문제를 해결하려면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에 관한 것으로, 상기의 내용이 사랑스럽게 해제되어 도움이 됩니다.

Debian Jesse(도커 허브의 PHP 이미지의 현재 기본값)의 경우:

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

--yes는 생략할 수 있지만 Docker 파일에서 실행할 때 유용합니다.

오래된 Ubuntu Distros (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

갱신하다

Ubuntu 18.04로 시험하여 동작.

Ubuntu를 사용하고 있으며 다음 명령으로 동작합니다.

apt-get install --yes zip unzip

이미지가 있는 도커php:7.2-apache그냥 지퍼와 압축 해제만 하면 돼.php-zip은 필요 없습니다.

apt-get install zip unzip

또는 도커 파일

RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "zip"]
RUN ["apt-get", "install", "-y", "unzip"]

Ubuntu와 PHP 7.2를 사용하는 경우, 이것을 사용하십시오.

sudo apt-get update
sudo apt-get install zip unzip php7.2-zip

디지털 해양 클라우드 서버(Ubuntu 18.04 및 PHP 7.2)에 Larabel 5.5를 설치했을 때 다음 명령어로 수정했을 때 이 오류가 발생하였습니다.

sudo apt install zip unzip php7.2-zip

사실 요즘 작곡가는 음악 없이 일하는 것 같아요.zip명령줄 명령어, 설치php-zip충분한 --- 단, 다음과 같은 경고가 표시됩니다.

설치된 'unzip' 명령어가 없기 때문에 zip 파일은 PHP zip 확장자를 사용하여 압축 해제됩니다.이로 인해 손상된 아카이브에 대한 잘못된 보고서가 생성될 수 있습니다.'unzip'을 설치하면 복구될 수 있습니다.

참고 항목: php-zip 사용에 문제가 있습니까(컴포저 경고)

PHP-ZIP일부 의존관계 또는 라이브러리가 누락되어야 합니다(이미지에 따라 다름).Dockerfile먼저 설치해야 합니다.

RUN set -eux \
   && apt-get update \
   && apt-get install -y libzip-dev zlib1g-dev \
   && docker-php-ext-install zip

PHP 7.4의 경우 다음을 시도해 보십시오.

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

PHP 8.0의 경우:

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

PHP 8.1

apt-get install --yes zip

DebianUbuntu에서 이를 수정하는 가장 짧은 명령어(의존관계는 자동으로 설치됩니다)

sudo apt install php-zip

실행 후

apt install php-zip

다시 뛰다

composer require ...

다음 경고와 제안을 받습니다.

'unzip' 또는 '7z' 명령어가 없기 때문에 설치된 zip 파일은 PHP zip 확장자를 사용하여 압축 해제됩니다.

이로 인해 손상된 아카이브에 대한 잘못된 보고서가 생성될 수 있습니다.또한 아카이브에 정의된 UNIX 권한(예: 실행 파일)은 모두 손실됩니다.

'unzip' 또는 '7z'(21.01+)를 설치하면 복구할 수 있습니다.

'unzip' 또는 '7z' 명령어가 없기 때문에 설치된 zip 파일은 PHP zip 확장자를 사용하여 압축 해제됩니다.

이로 인해 손상된 아카이브에 대한 잘못된 보고서가 생성될 수 있습니다.또한 아카이브에 정의된 UNIX 권한(예: 실행 파일)은 모두 손실됩니다.

'unzip' 또는 '7z'(21.01+)를 설치하면 복구할 수 있습니다.

그래서 먼저 unzip을 설치하는 것이 좋습니다.

apt install unzip

언급URL : https://stackoverflow.com/questions/41274829/php-error-the-zip-extension-and-unzip-command-are-both-missing-skipping

반응형