■WindowsでPEARを半自動インストール


詳しい説明はPEARマニュアルの「コマンドライン インストーラ」参照。
上記ドキュメント実行に際しての覚書。2006/10/07


■パッケージマネージャの取得

PHPを解凍したフォルダにある「go-pear.bat」を実行し、パッケージマネージャを取得する。
PHPをCドライブ直下に入れた場合、「c:\php\go-pear.bat」にある。

「go-pear.bat」実行後、同じディレクトリにある「PEAR_ENV.reg」をダブルクリックするか、環境変数に「pear.bat」のあるディレクトリ(この場合「c:\php」)を追加すると、コマンドラインでpearコマンドが使えるようになる。
環境変数はXPの場合、「マイコンピュータ」を右クリック→「詳細設定」タブ→「環境変数」ボタン→「システム環境変数」のとこの「Path」に「c:\php」を追加。「;」で区切る。
PCを再起動後、コマンドブロンプトで「pear」とうって以下のようになればOK。



「pear」とうった時に実行されているのは「pear.bat」だが、これを使ってPEARパッケージのインストールを行う。
「pear」のコマンドは「コマンドライン インストーラ」参照。
(「pear.bat」は、phpを入れたディレクトリが「C:\php\」なら、「C:\php\pear.bat」にある)


■パッケージーのインストール


□「完全自動インストール」

例えばHTTP_Requestが欲しい場合、コマンドブロンプトで以下のようにうつ。
pear install HTTP_Request

ここでプロクシのために接続できない場合、pear.batにプロクシを設定。
pear config-show
で「http_proxy」の設定を確認後、
pear config-set http_proxy ホスト:ポート
で「ホスト:ポート」を設定。

また、βやα版のパッケージは
pear install パッケージ名-beta
pear install パッケージ名-alpha
とインストール毎に指定するか、もしくは pear config-set preferred_state devel とpearの設定を変更するかしないと、インストールできないので注意

完全自動インストールの場合は、細かいことも「コマンドライン インストーラ」に書いてあるので、そちらを参照。


□「半自動インストール」

何か事情があって上記のような接続ができない場合、「半自動インストール」でやることになる。
・ダウンロード
・依存関係確認
・インストール(依存関係で足りないパッケージも補完インストール)
を半手動でやる。

「完全自動インストール」では
pear install HTTP_Request
とパッケージ名を指定したが、パッケージのtgzファイルをブラウザでダウンロードしてきて、
pear install c\:HTTP_Request.tgz
とローカルのファイル名を指定する。
パッケージはPEARのパッケージブラウザからダウンロードしてくる。
以下、「HTTP」パッケージをインストールした例。


この時、installコマンドは依存関係もみてくれる。
「Package ○○ dependency ××」とかいうエラーがでたら、その依存パッケージを先にインストールする。

以下はHTTP_Client-1.1.0.tgz」をインストールしようとしたら、「HTTP_Requestが必要」 と言われた例。
pear install c:\temp\HTTP_Client-1.1.0.tgz
Package "pear.php.net/HTTP_Client" dependency "pecl.php.net/HTTP_Request" has no releases
この場合、「HTTP_Request」を先にインストールする必要があるという意味。

依存関係は、パッケージをダウンロードする時点でも分かるので、あらかじめ必要そうなファイルをまとめてダウンロードしておいた方が楽かもしれない。

例えばHTTP_Requestが欲しい時。
「Download」のページを開いてみると、「Dependencies:」に
PEAR Package: Net_URL 1.0.12 or newer
PEAR Package: Net_Socket 1.0.2 or newer

とある。
「Net_URL」、「Net_Socket」がないと「HTTP_Request」は動かない、ということなので、まずは「Net_URL」「Net_Socket」をインストールし、その後「HTTP_Request」をインストールすることになる(下図参照)。



複数のパッケージを同時にインストールしたい場合、パッケージ名を半角スペースで区切る。
pear install c:\temp\pear\HTTP_Client-1.1.0.tgz c:\temp\pear\HTTP_Request-1.3.0.tgz

コマンドラインからpearコマンドでインストールしない場合、tgzを解凍して適切な場所に配置すればよい。


実際にPHPで使えるかどうか確認する場合、以下のように書いて、エラーがでなければOK。
include('HTML/AJAX.php');