CentOS 5.8にインストールされていたphp53を、php5.4にアップデートしました。
タイトルの通りですが、作業を行った時のメモです。
作業自体はx86_64で行っていますが、他でも同じだと思います。
php53のパッケージを一旦削除してから、remiのリポジトリにあるphp5.4を取得・インストールしています。
なので、正確には再インストールですね!
php53の削除
早速、php53のパッケージを削除します。
[root@centos5.8 ~]# yum remove php53* Loaded plugins: downloadonly, fastestmirror, security Setting up Remove Process Resolving Dependencies ~中略~ Transaction Test Succeeded Running Transaction Erasing : php53-common 1/** 警告: /etc/php.ini は /etc/php.ini.rpmsave として保存されました。 Erasing : php53-bcmath 2/** Erasing : php53-cli 3/** (削除された項目を省略しています) Removed: php53.x86_64 0:5.3.3-21.el5 php53-bcmath.x86_64 0:5.3.3-21.el5 php53-cli.x86_64 0:5.3.3-21.el5 php53-common.x86_64 0:5.3.3-21.el5 (削除された項目を省略しています) Dependency Removed: php-pear.noarch 1:1.4.9-8.el5 Complete!
php5.4のインストール
php53パッケージの削除が完了したら、いよいよphp5.4のインストールです。
わたしの環境では、ここで依存関係エラー(libedit)が発生しました。
epelのリポジトリから取得してインストールすることで解決です。
[root@centos5.8 ~]# yum install --enablerepo=remi php Loaded plugins: downloadonly, fastestmirror, security Loading mirror speeds from cached hostfile ~中略~ Installed: php.x86_64 0:5.4.22-1.el5.remi Dependency Installed: libcurl.x86_64 0:7.21.7-5.el5.remi.2 libssh2.x86_64 0:1.2.7-1.el5.remi php-cli.x86_64 0:5.4.22-1.el5.remi php-common.x86_64 0:5.4.22-1.el5.remi Complete!
必要に応じてphp-mcryptやphp-devel、削除されたモジュール類を入れてあげて下さい。
[root@centos5.8 ~]# yum install --enablerepo=remi php-mcrypt Loaded plugins: downloadonly, fastestmirror, security Loading mirror speeds from cached hostfile ~中略~ Installed: php-mcrypt.x86_64 0:5.4.22-1.el5.remi Dependency Installed: libtool-ltdl.x86_64 0:1.5.22-7.el5_4 Complete!
[root@centos5.8 ~]# yum install --enablerepo=remi php-devel Loaded plugins: downloadonly, fastestmirror, security Loading mirror speeds from cached hostfile ~中略~ Installed: php-pear.noarch 1:1.9.4-23.el5.remi Dependency Installed: php-process.x86_64 0:5.4.22-1.el5.remi php-xml.x86_64 0:5.4.22-1.el5.remi Complete!
これらの他にもphp5.4化でphp-pearも入れ直しました。(・ω・´)
/etc/php.ini.rpmsave(php53削除時に作成された設定ファイルのバックアップ)からの再設定も、必要であれば行って下さい。
php5.4のインストールが完了したら、Apacheを再起動して完了です。
[root@centos5.8 ~]# /etc/init.d/httpd start
httpd を起動中: [ OK ]
さてと……。
動かなくなったPHPファイルはどれくらいあるのでしょうか(・_・;)
php5.4の更新内容についてはこちらをご覧下さい。
下位互換の無い変更点も結構あるので、PGの皆さん!ご注意下さい。
php5.4インストール時にエラーになった場合
php5.4をインストールする際に、わたしの環境では依存関係エラーが発生しました。
php-cli-5.4.23-1.el5.remi.x86_64 from remi has depsolving problems
--> Missing Dependency: libedit.so.0()(64bit) is needed by package php-cli-5.4.23-1.el5.remi.x86_64 (remi)
Error: Missing Dependency: libedit.so.0()(64bit) is needed by package php-cli-5.4.23-1.el5.remi.x86_64 (remi)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
libeditが無いとのことだったので、epelリポジトリから取得してインストールすることで対処しました。
[root@centos5.8 ~]# yum install --enablerepo=epel libedit Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile ~中略~ Running Transaction Installing : libedit 1/1 Installed: libedit.x86_64 0:2.11-2.20080712cvs.el5 Complete!