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 php7.0-Zip
(Sudo) apt install Zip unzip php7.0-Zip
これは非常によくある質問です。<distro> php <version> Zip extension
を検索することで、エーテルの中でより役に立つ情報を見つけることができるでしょう。
PHP 5.6のサーバー用
Sudo apt-get install Zip unzip php5.6-Zip
Debian Jessie(これはDocker HubのPHP imageの現在のデフォルトです):
apt-get install --yes Zip unzip php-pclzip
--yesは省略できますが、Dockerfileで実行しているときに便利です。
古いUbuntuディストリビューション、すなわち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
UbuntuとPHP 7.2 を使用している場合は、これを使用してください。
Sudo apt-get update
Sudo apt-get install Zip unzip php7.2-Zip
Digitaloceanクラウドサーバー(Ubuntu 18.04とLaravel 7.2)にPHP 5.5をインストールしたときにこのエラーが表示され、次のコマンドで修正されました。
Sudo apt install Zip unzip php7.2-Zip
実際のところ、最近の作曲家はZip
というコマンドラインコマンドがなくても動作するようですので、php-Zip
をインストールするだけで十分なはずです---しかし警告が表示されます。
'unzip'コマンドがインストールされていないため、ZipファイルはPHP Zip拡張子を使用して解凍されています。これにより、破損したアーカイブの無効な報告が発生する可能性があります。 'unzip'をインストールするとそれらを修正するかもしれません。
画像付きの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"]