CentOS7にApache2.4とPHP5.6を入れようとしたら物凄く躓きました。httpd-mmnの違いで、インストール時の依存性解決時にエラーが起きました。エラー内容# sudo yum install --enablerepo=remi,remi-php56 httpd php...エラー: パッケージ: php-5.6.4-2.el6.remi.x86_64 (remi-php56) 要求: httpd-mmn = 20051115 利用可能: httpd-2.4.6-17.el7.centos.1.x86_64 (base) httpd-mmn = 20120211x8664 httpd-mmn = 20120211-x86-64 httpd-mmn = 20120211 インストール中: httpd-2.4.6-18.el7.centos.x86_64 (updates) httpd-mmn = 20120211x8664 httpd-mmn = 20120211-x86-64 httpd-mmn = 20120211httpd-mmnとはapacheのソースコードに定義されている、互換性に関する定数のようです。「Apacheのhttpd-mmnは『20120211』なのに、PHP5.6が要求しているhttpd-mmnは『20051115』だからインストールできませんわ」と言っているんですね。結論から言いますと、remiリポジトリのバージョンが古いことが原因でした。実際にremiリポジトリの内容を見てみると、# cat /etc/yum.repos.d/remi.repo[remi]name=Les RPM de remi pour Enterprise Linux 6 - $basearch#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirrorenabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi[remi-php55]name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 6 - $basearch#baseurl=http://rpms.famillecollet.com/enterprise/6/php55/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/6/php55/mirror# WARNING: If you enable this repository, you must also enable "remi"enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi[remi-php56]name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 6 - $basearch#baseurl=http://rpms.famillecollet.com/enterprise/6/php56/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/6/php56/mirror# WARNING: If you enable this repository, you must also enable "remi"enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi...となっています。「Enterprise Linux 6」となっていたり、リポジトリのURLに「6」と入っていると古いようです(2015年1月現在新しいのは7です)。なので、一旦この古いリポジトリを削除して新しくします。remiリポジトリを新しくする削除するため古いリポジトリ名を探します。# rpm -qa | grep remiremi-release-6.5-1.el6.remi.noarch「remi-release-6.5-1.el6.remi.noarch」ですね。remiリポジトリを削除する前に、依存性のあるパッケージがあるか確認しておきます。# rpm -e --test remi-release-6.5-1.el6.remi.noarch自分の場合は無かったので、そのまま削除します。# rpm -e remi-release-6.5-1.el6.remi.noarch次に、新しいremiリポジトリを入れます。以下はユーザディレクトリ(cd ~)にリポジトリをダウンロードしています。# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm# rpm -Uvh remi-release-7.rpmこれでremiリポジトリが新しくなりました。早速インストールしてみます。# sudo yum install --enablerepo=remi,remi-php56 httpd php...エラー: パッケージ: php-5.6.4-2.el6.remi.x86_64 (remi-php56) 要求: httpd-mmn = 20051115 利用可能: httpd-2.4.6-17.el7.centos.1.x86_64 (base) httpd-mmn = 20120211x8664 httpd-mmn = 20120211-x86-64 httpd-mmn = 20120211 インストール中: httpd-2.4.6-18.el7.centos.x86_64 (updates) httpd-mmn = 20120211x8664 httpd-mmn = 20120211-x86-64 httpd-mmn = 20120211が、自分の場合ここに来てまた冒頭と同じエラーが起きてしまいました。リポジトリのキャッシュが原因リポジトリを新しくしたのにもかかわらずphpのダウンロードバージョンに「el6」と書かれています。どうやらキャッシュが原因でリポジトリのURLが変更されていないようです。キャッシュを削除してみます。# yum clean allしかし、これでもダメでした。yum cleanでも完璧には削除されない?もうここまで来たらコマンドに頼らず、直接yumのキャッシュディレクトリを削除することにしました。キャッシュディレクトリは/etc/yum.confに設定されています。# cat /etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releasever $basearchと$releaseverはそれぞれシステムのアーキテクチャ、Red Hat Enterprise Linuxのバージョンを参照するようですが、ディレクトリはtabを押していけば自動的に入力されるので深く考えなくて大丈夫でしょう。自分は以下のキャッシュディレクトリを削除しました。# 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はい。これでようやくリポジトリのURLが新しくなって、Apache2.4とPHP5.6のインストールができました。# httpd -vServer version: Apache/2.4.6 (CentOS)Server built: Jul 23 2014 14:48:00# php -vPHP 5.6.4 (cli) (built: Dec 17 2014 16:37:35)Copyright (c) 1997-2014 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies# httpd -M | grep php php5_module (shared)以上です。参考:PHPの環境設定に関する問題CentOS 7.0.1406 上のPHP5.4及び5.5で以下の… – Yahoo!知恵袋CentOS7 64bitのyumリポジトリにRemiを追加 | kakiro-web カキローウェブ6.3. Yum と Yum リポジトリの設定rpm e httpd したときに依存しているモジュールがありエラーとなる件: もんきち