
【対策・解決方法】エラー:php-zip が必要ですが、どのプロバイダーからもインストール できません
こんにちは!インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE)です。
本記事では、CentOS8環境でphpMyAdminをPHP8.1対応でインストールする際に発生する「php-zip が必要ですが、どのプロバイダーからもインストール できません」エラーの原因と解決方法を解説します。完全版のインストール手順は以下の記事をご覧ください。

「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
エラー内容:php-zip が必要ですが、どのプロバイダーからもインストール できません
エラー:
パッケージ phpMyAdmin-5.2.1-1.el8.remi.noarch には php-zip が必要ですが、どのプロバイダーからもインストール できません
- ジョブの最良アップデート候補をインストールできません
- パッケージ php-pecl-zip-1.15.3-1.module_el8.3.0+2010+7c76a223.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-pecl-zip-1.15.4-1.module_el8.3.0+2009+b272fdef.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-pecl-zip-1.18.2-1.module_el8.6.0+2750+78feabcb.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-pecl-zip-1.19.2-1.module_el8.6.0+2739+efabdb8f.x86_64 はモジュラーフィルタリングに一致しません
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
【対策・解決方法】「remi-modular」リポジトリから「php-zip(php-pecl-zip)」をインストールする
① remiリポジトリをインストールする
まず「remiリポジトリ」をインストールします。このリポジトリが無いと「php-zip(php-pecl-zip)」のインストールに失敗します。以下のサイトでバージョンが選択できますが、Ver9はOSを9系にする必要があります。
http://rpms.remirepo.net/enterprise/
yum install -y http://rpms.remirepo.net/enterprise/remi-release-8.rpm
② php-zip(php-pecl-zip)をインストールする
「remi-modular」リポジトリを有効にして php-zip をインストールします。これを入れるだけで前提パッケージのエラーが解消されます。
dnf install --enablerepo=remi-modular php-zip -y
正常にインストールされると以下のようなコマンド結果が表示されます。
パッケージ アーキテクチャー バージョン リポジトリー サイズ
インストール:
php-pecl-zip x86_64 1.21.1-1.el8.remi.8.1 remi-modular 76 k
依存関係のインストール:
libzip x86_64 1.9.2-1.el8.remi remi-modular 70 k
インストール済み:
libzip-1.9.2-1.el8.remi.x86_64 php-pecl-zip-1.21.1-1.el8.remi.8.1.x86_64
完了しました!
そもそもphp-zipとは?
「php-zip」は、PHPプログラムでZIPアーカイブを作成・操作するための拡張モジュールです。ZIPアーカイブは複数のファイルやフォルダを1つにまとめる圧縮ファイル形式であり、php-zipを使用することでZipArchiveクラスを通じたZIPファイルの作成・展開・ファイルの追加削除・情報取得が可能になります。phpMyAdminのインストール時に必要とされるケースがあります。
まとめ
本記事では「php-zip が必要ですが、どのプロバイダーからもインストール できません」エラーの解決方法として、remiリポジトリの導入と dnf install --enablerepo=remi-modular php-zip による解消手順を解説しました。同様のエラーで困っている方はTwitterでご連絡ください。
カユラ(@kayura_SE)

コメント