web-dev-qa-db-ja.com

PHP エラー:「Zip拡張と解凍コマンドが両方とも見つからないため、スキップされます。」

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コマンドを有効にするにはどうすればいいですか。

100
b85411

あなたのLinuxの種類やPHPのバージョンによって、これらは変わるかもしれません。

(Sudo) yum install Zip unzip php7.0-Zip
(Sudo) apt install Zip unzip php7.0-Zip

これは非常によくある質問です。<distro> php <version> Zip extensionを検索することで、エーテルの中でより役に立つ情報を見つけることができるでしょう。

230
Arrisar

PHP 5.6のサーバー用

Sudo apt-get install Zip unzip php5.6-Zip
36
Olawale

Debian Jessie(これはDocker HubのPHP imageの現在のデフォルトです):

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

--yesは省略できますが、Dockerfileで実行しているときに便利です。

20
Peter Breuls

古いUbuntuディストリビューション、すなわち16.04、14.04、12.04など

Sudo apt-get install Zip unzip php7.0-Zip
19
Goke Obasa

私はUbuntu 16.04サーバー上にPHP7.2を持っていました、そしてそれは私の問題を解決しました:

Sudo apt-get install Zip unzip php-Zip

アップデート

Ubuntu 18.04でこれを試してみましたし、同様に働きました。

10
Aqib Ashef

私はUbuntuを使用していて、次のコマンドでうまくいきました

apt-get install --yes Zip unzip

4
Oscar David

UbuntuとPHP 7.2 を使用している場合は、これを使用してください。

Sudo apt-get update
Sudo apt-get install Zip unzip php7.2-Zip
3
aphoe

Digitaloceanクラウドサーバー(Ubuntu 18.04とLaravel 7.2)にPHP 5.5をインストールしたときにこのエラーが表示され、次のコマンドで修正されました。

Sudo apt install Zip unzip php7.2-Zip

1
Joyal

実際のところ、最近の作曲家はZipというコマンドラインコマンドがなくても動作するようですので、php-Zipをインストールするだけで十分なはずです---しかし警告が表示されます。

'unzip'コマンドがインストールされていないため、ZipファイルはPHP Zip拡張子を使用して解凍されています。これにより、破損したアーカイブの無効な報告が発生する可能性があります。 'unzip'をインストールするとそれらを修正するかもしれません。

も参照してください。 - php-Zipの使用に問題はありますか(作曲家から警告があります)

0
Alex

画像付きのdocker 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"]
0
Armel Larcier