前回の記事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。
コメント
[…] CentOS5にPHP5.3をインストール CentOS 5.6でphpを5.3系にバージョンアップしてみる その2(pear) […]