PHPの依存関係で phpの一部のモジュールがアップデートできなくなった
「php-pecl-memcached」のモジュールがエラー上がってアップデートできなくなったので、一旦削除して再インストールすると以下のエラーでインストールできなくなりました。
$ sudo dnf --allowerasing install php-pecl-memcached メタデータの期限切れの最終確認: 0:00:10 前の 2026年06月15日 13時22分26秒 に実施しました。 エラー: 問題: package php-pecl-msgpack-3.0.1-1.el10_2.x86_64 from epel requires php(api) = 20240924-64, but none of the providers can be installed - package php-pecl-msgpack-3.0.1-1.el10_2.x86_64 from epel requires php(zend-abi) = 20240924-64, but none of the providers can be installed - package php8.4-common-8.4.16-1.el10.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.29-1.el10_1.x86_64 from appstream - package php8.4-common-8.4.21-1.el10_2.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.29-1.el10_1.x86_64 from appstream - package php-pecl-igbinary-3.2.16-3.el10_0.x86_64 from epel requires php(api) = 20230831-64, but none of the providers can be installed - package php-pecl-igbinary-3.2.16-3.el10_0.x86_64 from epel requires php(zend-abi) = 20230831-64, but none of the providers can be installed - package php-pecl-memcached-3.4.0-1.el10_2.x86_64 from epel requires php-msgpack(x86-64), but none of the providers can be installed - package php-pecl-memcached-3.4.0-1.el10_2.x86_64 from epel requires php-igbinary(x86-64), but none of the providers can be installed - package php8.4-common-8.4.16-1.el10.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from appstream - package php8.4-common-8.4.21-1.el10_2.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from appstream - 競合するリクエスト - package php8.4-common-8.4.16-1.el10.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from @System - package php8.4-common-8.4.21-1.el10_2.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from @System
php 8.4とか表示されているので、現在インストールしているphpのバージョンを確認する
$ php -v PHP 8.3.31
インストールできない原因
EPEL リポジトリ内の PHP 拡張パッケージの ABI が不整合になっている。最近ビルドしたパッケージが8.4用しか配布されておらず、インストールされているphp8.3のバージョンはビルドされていないようです
| パッケージ | PHP ABI |
|---|---|
| php-pecl-igbinary-3.2.16-3.el10_0 | PHP 8.3 (20230831) |
| php-pecl-msgpack-3.0.1-1.el10_2 | PHP 8.4 (20240924) |
| php-pecl-memcached-3.4.0-1.el10_2 | 上記両方を要求 |
対応方法
今回はサーバー側の問題ではなく、EPEL 側のパッケージ整合性の問題と判断できるので、php8.3が配布されるまで待つのが良さそうなのでしばらく様子をみるようにします

