【CentOS】CentOS 5.6でphpを5.3系にバージョンアップしてみる その2(pear)

スポンサーリンク

前回の記事CentOS 5.6でphpを5.3系にバージョンアップしてみる その1(php本体と関連パッケージ)の続きです。

さくらのVPSにwordpressを入れていて、wordpressを3.2にするためだけなら前回の記事までの作業(php53パッケージ関連のインストール)で良いと思います。PEARを使いたい場合の作業記録です。

前回php(5.1.6)のパッケージをyum eraseしたときにpearが依存パッケージとして消されてしまったので、再度yum installします。

1.PEARをyumでインストール

#yum install php-pear
--(中略)--
============================================================================================
 Package              Arch               Version                     Repository        Size
============================================================================================
Installing:
 php-pear             noarch             1:1.4.9-6.el5               base             344 k

Transaction Summary
============================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 344 k
Is this ok [y/N]:
※パッケージを確認したらyを押す

2.このまま#pear としてpearを実行すると下記のような大量のdeprecatedエラーが出るので対策します

: Assigning the return value of new by reference is deprecated in Config.php on line 575

: Assigning the return value of new by reference is deprecated in Config.php on line 605

: Assigning the return value of new by reference is deprecated in Config.php on line 672

: Assigning the return value of new by reference is deprecated in Config.php on line 701

3.上のエラーが出ないようにするために、pearをバージョンアップします。最初の二つのpear upgradeコマンドを実行するとエラーが表示されますが、気にしなくていいです。

# pear upgrade --force Archive_Tar
# pear upgrade --force Console_Getopt
# pear upgrade PEAR

上記の解決法はCentOS 5.6のPHP 5.3にPEARがないっぽい件 – あっきぃ日誌さんのブログを参考にさせてもらいました。

4.確認
#pear listでpearパッケージの一覧を表示し

Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.7   stable
Console_Getopt   1.3.1   stable
PEAR             1.9.4   stable
Structures_Graph 1.0.4   stable
XML_RPC          1.5.0   stable
XML_Util         1.2.1   stable

PEARが1.9.4になっていれば成功です。#pear としてもエラーが出なくなってると思います。

 ちなみに2.の大量のdeprecatedは、php5.3から加わったエラーの一種です。「その関数は非推奨;使わない方がいいよ」というエラー。CentOS5.6のyumでインストールされるpearのバージョンは1.4.9で少し古く、php5.3ではあまり使って欲しくない関数があるので大量の非推奨(deprecated)エラーが出てます。
 このエラーはpearのHTML_QuickFormなど、古いpearのパッケージでも出てきます。pear自体を新しいものにすればdeprecatedエラーは出なくなるので、最初にpearを新しくするために必要なArchive_TarとConsole_Getoptを強制的に更新→その後pearを更新、という手順でバージョンアップしてます。
 deprecatedエラーについてはDeprecated:警告を非表示にする。(PHP5.3.x) – K氏のCentOSサーバ構築メモさんのブログに詳しくかかれてます。

これでphp 5.3.3でも普通にpearが使えると思います。次はphpmyadmin。

コメント

  1. […] CentOS5にPHP5.3をインストール CentOS 5.6でphpを5.3系にバージョンアップしてみる その2(pear) […]