昨日の更新「CentOS5.11でPHP5.1を5.3にアップグレード(断念)」の続き。
個人用覚え書きです。2014年12月時点での情報です。
当方サーバー素人なんで、間違った手法かもしれません。
まえおき
本文と関係なし。読み飛ばしてOK。
昨日の流れ- CentOS5で普通に yum update しても、PHP5.1.6しか入らない。
ネット上で面白そうなサンプルを拾っても、PHP5.1系では走らない事が多くなってきたので、バージョンアップしたい。 - PHP5.2の場合
よいダウンロード先が見つからない。 - PHP5.3の場合
インストールしようと思っても、「php-mcrypt」と「php-pear」のインストールが非常に面倒くさい。 - PHP5.5やPHP5.6の場合
インストールしようと思っても、欲しいモジュールを集めるのが大変だった。
色々と迷走してしまったが、PHP5.4が以下の方法でサクっとインストールできた。
前準備1
CentOSの状態を最新にしておく。
cat /etc/redhat-release
yum clean all
yum update glibc\*
yum update yum\* rpm\* pyth\*
yum clean all
yum update mkinitrd nash
yum update selinux\*
yum update
shutdown -r now
参考:yum upgradeとyum updateの違いについて勘違いしてた - kanonjiの日記
引用「5.5 より前の CentOS からアップグレードする場合、次の手順が勧められています」
前準備2
以下をインストールしておかないと、PHP5.3以降のインストールは失敗する。
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-13.ius.el5.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh *-release*rpm
yum install --enablerepo=epel libedit
yum -y install libtool-ltdl
PHP5.4をインストールする前に、いろいろ先に入れておく。
PHP5.4のダウンロード
yumで入手しようとすると、PHP5.4も欲しいものを探すのが大変だった。
以下から必要なRPMパッケージをwgetまたはダウンロードする。
Index of /pub/ius/stable/Redhat/5/x86_64 (64bit CentOSの場合)
2014年12月現在、かなり豊富。
PHP5.4のインストール
入手したRPMパッケージを一気にインストール
#バージョン確認
php -v
#インストールパッケージの確認
yum list installed | grep php*
#前バージョンの削除
yum remove php php-*
# インストール(アップグレード)
rpm -Uvh php54*rpm
#再起動
service httpd restart
#バージョン確認
rpm -qa | grep php
注意点
PHP5.1.6の頃は<? hogehoge >てな記述でPHPが走っていたが、(確認した限りで)PHP5.3とPHP5.4では<?php hogehoge >と記述しなければphpは走らなかった。
例
これが動かなくなる
<? include('/var/www/html/test/hoge.xx'); ?>
こう書くと動く
<?php include('/var/www/html/test/hoge.xx'); ?>
アンインストールしたいとき
yum remove php54* とかで削除できない。
rpm -e php54*rpm とかでも削除できない。
rpm -e php54-mcrypt
と言う感じで個別にパッケージを指定して、一つずつ削除していく。
(本文と関係ないけどメモ)
EZ-NET: yum でインストールしたパッケージの削除に失敗する
PHP5.5や5.6へアップグレードする
参考文献のみ
CentOS5にphp5.6をyumでインストール | サイブリッジラボブログ
【シンプル】CentOS5にPHP5.5をyumで簡単にインストールする手順田舎に住みたいエンジニアの日記 | 田舎に住みたいエンジニアの日記
これらの方法だと、なぜか「php-mcrypt 」や「php-pear」が入手出来なかった&どこから入手すれば良いか分からなかったので、今回は見送り。5.4で十分。