【対策・解決方法】エラー:php-zip が必要ですが、どのプロバイダーからもインストール できません
こんにちは!
インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE )です。
今回は、「【対策・解決方法】エラー:php-zip が必要ですが、どのプロバイダーからもインストール できません」について紹介したいと思います。
phpMyAdminをPHP8.1でインストールする時に遭遇したエラーです。完全版は以下の記事です。
www.kayura-se.com「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リポジトリ」をインストールします。
※これが無いと「php-zip(php-pecl-zip)」のインストールに失敗します。
以下のサイトでVerが選べるのですが、Ver9はOSを9系にする必要があります。
http://rpms.remirepo.net/enterprise/
yum install -y http://rpms.remirepo.net/enterprise/remi-release-8.rpm
②「php-posix(php-process)」をインストールします。
これを入れるだけで前提パッケージのエラーが無くなります。
「remi-modular」リポジトリからインストールしています。
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トランザクションの概要
インストール 2 パッケージ
ダウンロードサイズの合計: 146 k
インストール後のサイズ: 387 k
パッケージのダウンロード:
(1/2): libzip-1.9.2-1.el8.remi.x86_64.rpm 68 kB/s | 70 kB 00:01
(2/2): php-pecl-zip-1.21.1-1.el8.remi.8.1.x86_64.rpm 71 kB/s | 76 kB 00:01
合計 92 kB/s | 146 kB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : libzip-1.9.2-1.el8.remi.x86_64 1/2
インストール中 : php-pecl-zip-1.21.1-1.el8.remi.8.1.x86_64 2/2
scriptletの実行中: php-pecl-zip-1.21.1-1.el8.remi.8.1.x86_64 2/2
検証 : libzip-1.9.2-1.el8.remi.x86_64 1/2
検証 : php-pecl-zip-1.21.1-1.el8.remi.8.1.x86_64 2/2
インストール済み:
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アーカイブを作成する場合や、既存のZIPアーカイブからファイルを取り出す場合、php-zip拡張モジュールを使用することができます。php-zipは、ZIPファイルを操作するためのクラスや関数を提供します。例えば、ZipArchiveクラスを使用して、ZIPファイルの作成や展開、ファイルの追加や削除などを行うことができます。また、ZIPファイル内のファイルの情報を取得することもできます。
【対策・解決方法】エラー:php-zip が必要ですが、どのプロバイダーからもインストール できませんの手順は以上となります。
現在悩んでいる方はTwitterでご連絡ください。
私も辛い日々を経験したのであなたの助けになりたいです。
カユラ(@kayura_SE )