2011年 3月 27

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のバージョンを確認

  • 32bit http://rpms.famillecollet.com/enterprise/5/olds/i386/
  • 64bit http://rpms.famillecollet.com/enterprise/5/olds/x86_64/
  • 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にダウングレードする – 見果てぬ夢

    More from my site

    • centos4.8のphp4.xをyumでphp5.1.6にアップデートcentos4.8のphp4.xをyumでphp5.1.6にアップデート ケース1 すでにyumでphp4がインストール済みのcentos4.8にphp5.1.6をインストールする方法です。 *centosplusリポジトリの追加は行ってある前提です。 # yum --enablerepo=centosplus update php としてもエラーで進まない。 Transaction Check Error: file […]
    • CentOS5.7にNginxの最新版をyumでインストールCentOS5.7にNginxの最新版をyumでインストール epelでNginxをyumでインストールする場合、バージョンが0.8.55と古い。 ================================================================================ Package Arch Version […]
    • centOS4.8 apache2.0.x を apache 2.2.15 へ yum でアップデートcentOS4.8 apache2.0.x を apache 2.2.15 へ yum でアップデート utterramblings レポジトリを使い apache を2.2.15 へ yum でアップデートする。 phpも5.2.13 へアップデートされる。 remiレポジトリでもいいけど PHPが5.3になってしまうので。 utterramblingsレポジトリ追加 # rpm --import […]
    • CentOS4.8 に Zend Framework をインストールCentOS4.8 に Zend Framework をインストール 環境 CentOS 4.8 Apache 2.2.15 PHP 5.2.13 Zend Framework ダウンロード http://framework.zend.com/download/latest 「Zend Framework Full Package」から Zend Framework 1.10 full […]
    • CentOS5.5にZend OptimizerをインストールCentOS5.5にZend Optimizerをインストール Live Commerceを使うのにはZend Optimizerが必要なのでインストールする。 CentOS5.5(32bit) PHP 5.2.16 ダウンロード ダウンロード場所がわかりにくいので注意 ※Zend OptimizerをダウンロードするにはMyZendに登録する必要がある。 ゼンド・ジャパン株式会社 ダウンロード>Zend […]
    • CentOS5.5に MySQL5.1 && php5.3 をyumでインストールCentOS5.5に MySQL5.1 && php5.3 をyumでインストール remiリポジトリの導入 MySQL5.1、PHP5.3 をインストール # yum --enablerepo=remi install mysql phpMyAdminで必要な php-mcrypt 等をインストール # yum --enablerepo=remi install php-mcrypt php-xml httpd-devel […]

    Filed under: CentOS5.x,PHP,サーバ管理

    Trackback Uri


    Trackbacks/Pingbacks

    1. […] 参考 CentOS 5.5 php5.3.6からphp5.2.17へyumでダウングレード | perlとMysqlと鯖管メモ他 […]

    2. […] <参考> CentOS 5.5 php5.3.6からphp5.2.17へyumでダウングレード yumで簡単にphp 5.3からphp 5.2にダウングレード […]



    コメントする