pear install DB実行時に「No release available for package "pear.php.net/DB"」となる原因の1つと解決方法
CentOS 6で
yum install php-pear
は成功するのに、
pear install DB
を実行すると、
No release available for package "pear.php.net/DB"
install failed
というエラーが発生し、pearのDBをインストールできないことがある。
考えられる原因は色々とあるのだろうが、私がこれまでに遭遇した中で覚えているエラーの原因は、CentOSをインストールしているマシン(サーバ機)から、PEARのサイトにネットワーク的に接続できないといったもの。
原因がネットワーク的な問題であることが疑われる場合は、以下の1、2の順に確認をすると、問題を解決できるかもしれない。
1.pear.php.netにネットワーク的に接続できることを確認する。
例えば、wgetやcurlで(サーバ機でブラウザが使える場合はブラウザで)、http://pear.php.net/に接続できることを確認する。
接続できない場合、pear.php.netのサイトが死んでいなければ(生きていれば)、接続元のマシン(サーバ機)からpear.php.netにネットワーク的に接続できない原因(ネットワーク管理者により、接続できるサイトが限定されるようなアクセス制限がかかっている等)を探る必要がある。
2.インターネット接続にプロキシサーバを経由することが必須のネットワークの場合、プロキシサーバを指定してからpear install DBを実行する。
プロキシサーバをコマンドラインで指定する簡単な方法は、以下のようなコマンドを実行すること。
export http_proxy=http://proxyname:8080/
※「proxyname」の部分は、プロキシサーバのホスト名またはIPアドレスとなる。
※「8080」の部分は、プロキシサーバのポート番号となる。慣習的に8080となっている場合が多いかもしれないが、8080であるとは限らない。
※OSを再起動すると、このコマンドで設定した内容は失われるので、恒久的な設定ではない。
※プロキシサーバ名やポート番号を誤って指定すると、他のサービスが外部サイトに接続できなくなる可能性があるなどの懸念があるため、実運用中のサーバでは、このコマンドを実行する場合は、本当に実行してよいかどうかをよく考えた方がよい。
《備考》
pear install DBに成功した場合は、Linuxコンソール画面(標準出力)では以下のように表示される。
pear install DB
install ok: channel://pear.php.net/DB-1.8.2
<2016年1月16日追記>
上記のようなPEAR DBのバージョンが1.8.2の頃までと違い、PHPのバージョンが5.4.0未満だと、「pear install DB」ではPEAR DBがインストールできなくなっていることを確認した。PEAR DBのインストールに失敗する場合で、上記1、2のどちらにも該当しない場合、以下が該当するかもしれない。
《参考》
PHP 5.3.3でpear install DBを実行すると、PHP 5.4.0以上の要件を求められる問題の解決方法