#contents

#br

* リンク [#xaccc420]

- [[本家:http://pear.php.net/]]
- [[PEARマニュアル(日本語):http://pear.php.net/manual/ja/]]

* yum でインストールするとき [#z7b644fb]

 yum install php-pear

にしないといけない。 yum intall pear ってしたらパッケージが見つからない。
不便。

* プロキシサーバの指定 [#tbca8d64]

 pear config-set http_proxy proxy.example.com:8080

認証付きの場合は、

 pear config-test http_proxy http://username:password@proxy.server:8080

こんな感じで。

なお、この設定はユーザに紐付くので注意。

つまり、ユーザ user1 がこの設定をして、pear config-show したら、セットされているが、sudo pear config-show してもそこに値は入ってないはず。

pear install するときには特権が必要なので、最初から特権ユーザで作業するのが便利。


* ベータ版を強制的にインストールする場合 [#c235dcec]

時々、

 No release with state equal to: 'stable' found for 'XML_Serializer'

などと表示されることがある。これをベータ版でいいからインストールしたいと言う場合は、次のようにする。

 pear install XML_Serializer-beta

"-beta"を後につけるだけ。

* リファレンス [#kc434b66]

 よく使うものだけ。 その他詳細は、pear helpで表示される

|pearの引数|説明|h
|install|指定するパッケージをインストール|
|list|すでにインストールされているパッケージを表示|
|list-all|すべてのパッケージを表示|
|upgrade|レベルアップ|
|uninstall|アンインストール|
|config-show|設定値確認|

* pear 操作時のエラー(1) [#i3e6e12f]

とあるサーバに PEAR::DB をセットアップしようとしたときのこと。

組織内サーバで、プロキシを経由しないと外部への HTTP アクセスができないので、まずはそれを設定してから、

 pear install DB

とすると、次のようなエラーが出てしまう。

 Notice: Undefined variable: dorest in PEAR/Command/Install.php on line 1220
 Notice: Undefined variable: latest in PEAR/Command/Install.php on line 1228
 Notice: Undefined variable: latest in PEAR/Command/Install.php on line 1234
 Warning: array_change_key_case(): The argument should be an array in PEAR/Command/Install.php on line 1234

正直、このエラーメッセージを見ても、何のことだかさっぱり分からない。

が、他の操作(ローカル)はできていて、外部にアクセスが必要な操作をしたとたんにこれだから、その辺に見当を付けて、まずはプロキシ設定をチェック。問題ないようだ。

次に、チャンネル関係。 当たり。

PHP のライブラリがあるパス(今回は /usr/local/lib/php)の下には、''.channel'' というサブディレクトリがあり、その中にチャンネルの情報が納められている。

こいつがどうやらおかしいようなので、このディレクトリを丸ごと消してしまう(channel-update すれば再生成されるので問題ない)。

 rm -rf .channels

そして、channel-update を実行する。

 pear channel-update pear.php.net

これで、update に成功すれば、あとは install を続ければ OK。


しかし、このサーバの PHP は 5.2.11 を新規インストールしたばかりで、一度も PEAR を使ったことのない状態なんだが、それで channel 情報がおかしいって、どうなんだろうね。

* pear 操作時のエラー(2) [#pdc7ca54]

インストール時、以下のようにパッケージが見つからないというエラーが出ることがある

 pear install Mail
 No releases available for package "pear.php.net/Mail"

いろいろ原因は考えられるが、インターネットへの接続に問題があることも疑うべき。

上記は、pear のプロキシ設定が入ってなかったのが原因。

 pear config-set http_proxy proxy.example.com:8000

などとして設定をすれば解消した。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS