MENU

【対策・解決方法】エラー:php-zip が必要ですが、どのプロバイダーからもインストール できません

あわせて読みたい
(PHP8.1対応)【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定 (PHP8.1対応)【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定を行う方法をまとめました。
目次

【対策・解決方法】エラー:php-zip が必要ですが、どのプロバイダーからもインストール できません

こんにちは!インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE)です。

本記事では、CentOS8環境でphpMyAdminをPHP8.1対応でインストールする際に発生する「php-zip が必要ですが、どのプロバイダーからもインストール できません」エラーの原因と解決方法を解説します。完全版のインストール手順は以下の記事をご覧ください。

あわせて読みたい
(PHP8.1対応)【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定 (PHP8.1対応)【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定を行う方法をまとめました。

「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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次