MENU

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

目次

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

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

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

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

「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。

エラー内容:php-posix が必要ですが、どのプロバイダーからもインストール できません

エラー:
  パッケージ phpMyAdmin-5.2.1-1.el8.remi.noarch には php-posix が必要ですが、どのプロバイダーからもインストール できません
- ジョブの最良アップデート候補をインストールできません
- パッケージ php-process-7.2.24-1.module_el8.3.0+2010+7c76a223.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-process-7.3.20-1.module_el8.3.0+2009+b272fdef.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-process-7.4.30-1.module_el8.7.0+3286+227f3cf0.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-process-8.0.20-2.module_el8.7.0+3286+6cee236e.x86_64 はモジュラーフィルタリングに一致しません
- パッケージ php-process-8.0.27-1.module_el8.7.0+3401+dfb61c00.x86_64 はモジュラーフィルタリングに一致しません
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)

【対策・解決方法】「remi-modular」リポジトリから「php-posix(php-process)」をインストールする

① remiリポジトリをインストールする

まず「remiリポジトリ」をインストールします。このリポジトリが無いと「php-posix(php-process)」のインストールに失敗します。以下のサイトでバージョンが選択できますが、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」リポジトリを有効にして php-posix をインストールします。これを入れるだけで前提パッケージのエラーが解消されます。

yum install --enablerepo=remi-modular php-posix -y

正常にインストールされると以下のようなコマンド結果が表示されます。

パッケージ                 アーキテクチャー      バージョン                       リポジトリー                サイズ
インストール:
 php-process                x86_64                8.1.18-1.el8.remi                remi-modular                111 k

インストール済み:
php-process-8.1.18-1.el8.remi.x86_64

完了しました!

そもそもphp-posixとは?

「php-posix」は、PHPプログラムでPOSIX互換システムコールを実行するための拡張モジュールです。POSIXとはPortable Operating System Interfaceの略称で、UNIX系オペレーティングシステムにおいてプログラムが標準的なシステムコールを実行するためのAPIを定義した規格です。php-posixを使用することで、プロセス制御・ファイル操作・シグナル処理・パス名操作といったUNIX系OSの機能をPHPから利用できるようになります。phpMyAdminのインストール時に必要とされるケースがあります。

まとめ

本記事では「php-posix が必要ですが、どのプロバイダーからもインストール できません」エラーの解決方法として、remiリポジトリの導入と yum install --enablerepo=remi-modular php-posix による解消手順を解説しました。同様のエラーで困っている方はTwitterでご連絡ください。

カユラ(@kayura_SE

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

この記事を書いた人

コメント

コメントする

目次