参考:CentOS7にApache2.4とPHP5.6をインストールしようとしたらhttpd-mmnの違いでエラーが出る
事象
yumでPHPをインストール中にエラー。
httpd-mmnとはapacheのソースコードに定義されている互換性に関する定数で、Apacheのhttpd-mmnは『20120211』なのに、PHP5.6が要求しているhttpd-mmnは『20051115』でエラーになっている。
Error: Package: php-5.6.23-1.el6.remi.x86_64 (remi-php56)
Requires: httpd-mmn = 20051115
Installed: httpd-2.4.6-40.el7.centos.1.x86_64 (@updates)
httpd-mmn = 20120211
httpd-mmn = 20120211x8664
httpd-mmn = 20120211-x86-64
原因・解決方法
CentOS6用のepelとremiを入れていたことが原因。
epelとremiを削除して、yumのキャッシュ削除して、CentOS7用のepelとremiを入れると解決。
①インストールされているepelとremiを探す
rpm -qa | grep epel
rpm -qa | grep remi
②epelとremiを削除
上記で確認したパッケージ名を指定して削除する。
rpm -e XXXX
rpm -e XXXX
③CentOS7用のepelとremiをインストール
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
④キャッシュ削除
まずはコマンドでキャッシュ削除。
yum clean all
/etc/yum.confの以下がキャッシュとのこと。これを削除。
$basearch:システムのアーキテクチャ
$releasever:Red Hat Enterprise Linuxのバージョン
[main]
cachedir=/var/cache/yum/$basearch/$releasever
rm -rf /var/cache/yum/x86_64/7/remi
rm -rf /var/cache/yum/x86_64/7/remi-php55
rm -rf /var/cache/yum/x86_64/7/remi-php56
⑤PHPインストール
yum install --enablerepo=remi,remi-php56 php php-mbstring php-mysql