昨日の更新「CentOS5.11でPHP5.1を5.3にアップグレード(断念)」の続き。
個人用覚え書きです。2014年12月時点での情報です。
当方サーバー素人なんで、間違った手法かもしれません。

まえおき

本文と関係なし。読み飛ばしてOK。

昨日の流れ

 

色々と迷走してしまったが、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で十分。