CentOS6.3でyumを使ってphp5.4からphp5.3にダウングレード
諸事情によりCentOS6.3のサーバにインストールされたphp5.4をphp5.3にダウングレードする必要があったので、対応方法をメモしておきます。
ダウングレード方法
- 現在の状態を調べる
php5.4.14がインストールされていることを確認
yum list installed | grep php
php.x86_64 5.4.14-1.el6.remi @remi
php-cli.x86_64 5.4.14-1.el6.remi @remi
php-common.x86_64 5.4.14-1.el6.remi @remi
php-gd.x86_64 5.4.14-1.el6.remi @remi
php-ldap.x86_64 5.4.14-1.el6.remi @remi
php-mysql.x86_64 5.4.14-1.el6.remi @remi
php-odbc.x86_64 5.4.14-1.el6.remi @remi
php-pdo.x86_64 5.4.14-1.el6.remi @remi
php-pear.noarch 1:1.9.4-4.el6 @UIedited_0/6.2
php-pecl-apc.x86_64 3.1.15-0.3.svn329913.el6.remi
php-pecl-memcache.x86_64 3.0.8-1.el6.remi @remi
php-pgsql.x86_64 5.4.14-1.el6.remi @remi
php-soap.x86_64 5.4.14-1.el6.remi @remi
php-xml.x86_64 5.4.14-1.el6.remi @remi
php-xmlrpc.x86_64 5.4.14-1.el6.remi @remi
- 既存のphp5.4をアンインストール
sudo yum remove php php-cli php-common
- rpm保存用ディレクトリの作成
mkdir ~/rpm
cd ~/rpm
- 関連するrpmを取得するシェルスクリプトを書いておく
vi list.sh
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-cli-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-common-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-bcmath-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-dba-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-devel-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-gd-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-imap-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-ldap-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-mbstring-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-mysql-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-odbc-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pdo-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pear-1.9.4-7.el5.remi.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pecl-ncurses-1.0.2-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pgsql-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-process-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-snmp-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-soap-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-xml-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-xmlrpc-5.3.23-1.el5.remi.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pecl-apc-3.1.13-3.el5.remi.x86_64.rpm
- rpm取得
chmod 755 list.sh
./list.sh
- php5.3のインストール
sudo yum install --enablerepo=remi php-common-5.3.23* php-cli-5.3.23* php-5.3.23*
- 関連モジュールのインストール
sudo yum install --enablerepo=remi php-bcmath-5.3.23* php-dba-5.3.23* php-devel-5.3.23* php-gd-5.3.23* php-ldap-5.3.23* php-mbstring-5.3.23* php-mysql-5.3.23* php-pdo-5.3.23* php-pear-1.9.4-7* php-pecl-ncurses-1.0.2-1* php-process-5.3.23* php-soap-5.3.23* php-xml-5.3.23* php-xmlrpc-5.3.23*
- php5.3がインストールされたか確認
yum list installed | grep php
php.x86_64 5.3.23-1.el5.remi @/php-5.3.23-1.el5.remi.x86_64
php-bcmath.x86_64 5.3.23-1.el5.remi @/php-bcmath-5.3.23-1.el5.remi.x86_64
php-cli.x86_64 5.3.23-1.el5.remi @/php-cli-5.3.23-1.el5.remi.x86_64
php-common.x86_64 5.3.23-1.el5.remi @/php-common-5.3.23-1.el5.remi.x86_64
php-dba.x86_64 5.3.23-1.el5.remi @/php-dba-5.3.23-1.el5.remi.x86_64
php-devel.x86_64 5.3.23-1.el5.remi @/php-devel-5.3.23-1.el5.remi.x86_64
php-gd.x86_64 5.3.23-1.el5.remi @/php-gd-5.3.23-1.el5.remi.x86_64
php-ldap.x86_64 5.3.23-1.el5.remi @/php-ldap-5.3.23-1.el5.remi.x86_64
php-mbstring.x86_64 5.3.23-1.el5.remi @/php-mbstring-5.3.23-1.el5.remi.x86_64
php-mysql.x86_64 5.3.23-1.el5.remi @/php-mysql-5.3.23-1.el5.remi.x86_64
php-pdo.x86_64 5.3.23-1.el5.remi @/php-pdo-5.3.23-1.el5.remi.x86_64
php-pear.noarch 1:1.9.4-7.el5.remi @/php-pear-1.9.4-7.el5.remi.noarch
php-pecl-apc.x86_64 3.1.13-3.el5.remi @/php-pecl-apc-3.1.13-3.el5.remi.x86_64
php-pecl-ncurses.x86_64 1.0.2-1.el5.remi @/php-pecl-ncurses-1.0.2-1.el5.remi.x86_64
php-process.x86_64 5.3.23-1.el5.remi @/php-process-5.3.23-1.el5.remi.x86_64
php-soap.x86_64 5.3.23-1.el5.remi @/php-soap-5.3.23-1.el5.remi.x86_64
php-xml.x86_64 5.3.23-1.el5.remi @/php-xml-5.3.23-1.el5.remi.x86_64
php-xmlrpc.x86_64 5.3.23-1.el5.remi @/php-xmlrpc-5.3.23-1.el5.remi.x86_64
これでphp5.3にダウングレードできました
エラーが発生してうまくインストールできなかったモジュール
php-odbc、php-imap、php-pgsql、php-snmp はエラーが発生したためインストールできず。。。
解決方法は調査中
- ログメモ
sudo yum install net-snmp postgresql-server libiodbc* libc-client
sudo yum install --enablerepo=remi php-imap-5.3.23*
Error: Package: php-imap-5.3.23-1.el5.remi.x86_64 (/php-imap-5.3.23-1.el5.remi.x86_64)
Requires: libc-client.so.1()(64bit)
sudo yum install --enablerepo=remi php-odbc-5.3.23*
Error: Package: php-odbc-5.3.23-1.el5.remi.x86_64 (/php-odbc-5.3.23-1.el5.remi.x86_64)
Requires: libodbc.so.1()(64bit)
sudo yum install --enablerepo=remi php-pgsql-5.3.23*
Error: Package: php-pgsql-5.3.23-1.el5.remi.x86_64 (/php-pgsql-5.3.23-1.el5.remi.x86_64)
Requires: libpq.so.4()(64bit)
sudo yum install --enablerepo=remi php-snmp-5.3.23*
Error: Package: php-snmp-5.3.23-1.el5.remi.x86_64 (/php-snmp-5.3.23-1.el5.remi.x86_64)
Requires: libnetsnmp.so.10()(64bit)