CentOS 5.5 php5.3.6からphp5.2.17へyumでダウングレード
remiリポジトリでphp5.3をyumでインストールしたけど、php5.2で動いていたスクリプトが動かない。
困るのでphpをダウングレードする。
php関連パッケージを調べる。
# yum list installed | grep php* php.i386 5.3.6-1.el5.remi installed php-cli.i386 5.3.6-1.el5.remi installed php-common.i386 5.3.6-1.el5.remi installed php-gd.i386 5.3.6-1.el5.remi installed php-imap.i386 5.3.6-1.el5.remi installed php-ldap.i386 5.3.6-1.el5.remi installed php-mbstring.i386 5.3.6-1.el5.remi installed php-mcrypt.i386 5.3.6-1.el5.remi installed php-mysql.i386 5.3.6-1.el5.remi installed php-pdo.i386 5.3.6-1.el5.remi installed php-pear.noarch 1:1.9.2-3.el5.remi installed php-pgsql.i386 5.3.6-1.el5.remi installed php-xml.i386 5.3.6-1.el5.remi installed
# yum remove php*
だと、全てのパッケージが削除されない?ようなので、手動設定でパッケージを削除。
# yum remove php php-cli php-common php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql php-pdo php-pear php-pgsql php-xml
※ /etc/php.ini は /etc/php.ini.rpmsave として保存される。
RPMのバージョンを確認
remiにあるバージョンがphp5.2.17-1でした。
RPMをダウンロードしてインストールする方法が紹介されているのだけれど、php-pdo をインストールする際にlibsqlite.so.0に依存していてインストール出来なかった。
(php-mysql、php-pgsqlもphp-pdoに依存しているので両方インストール出来ない)
という事で、yumのバージョン指定インストールで行ってみた。
yumでバージョン指定してphpをインストール
# yum install --enablerepo=remi php-common-5.2.17* php-cli-5.2.17* php-5.2.17*
php関連モジュールをインストール
# yum install --enablerepo=remi php-gd-5.2.17* php-imap-5.2.17* php-ldap-5.2.17* php-mbstring-5.2.17* php-mcrypt-5.2.17* php-mysql-5.2.17* php-pdo-5.2.17* php-pgsql-5.2.17* php-xml-5.2.17*
すんなりインストール完了。
当然ですが、remiリポジトリが導入されていることが前提です。
失敗編
以下はRPMパッケージをダウンロードしてインストールしてみたときのメモです。
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-cli-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-common-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-gd-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-imap-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-ldap-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mbstring-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mcrypt-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mysql-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pdo-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pgsql-5.2.17-1.el5.remi.i386.rpm wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-xml-5.2.17-1.el5.remi.i386.rpm
# rpm -ivh php-common-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-cli-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-5.2.17-1.el5.remi.i386.rpm ※順番通りにインストールしないと依存関係でインストール出来ない
# rpm -ivh php-gd-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-imap-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-ldap-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-mbstring-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-mcrypt-5.2.17-1.el5.remi.i386.rpm # rpm -ivh php-xml-5.2.17-1.el5.remi.i386.rpm ※順番はないと思われる
# rpm -ivh php-pdo-5.2.17-1.el5.remi.i386.rpm エラー: 依存性の欠如: libsqlite.so.0 は php-pdo-5.2.17-1.el5.remi.i386 に必要とされています
sqliteに入っているらしい。
バージョンを合わせる必要がある。
※yumでインストールした時にsqlite2がインストールされたので、それに入っているのかも。当環境ではsqlite3のみがインストールされていたので。
ここで挫折。yumでのインストールに切り替える。
参考:
php 5.3.0からphp 5.2.10にダウングレード - KENCOM.BIZ
CentOS5.5でPHP5.3を5.2にダウングレードする - 見果てぬ夢
-
前の記事
PHP5.3 でOpnePNEのエラーを消す方法 2011.03.24
-
次の記事
perl SpeedyCGIでデータベースの接続を永続化する 2011.04.01