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)

参考URL