FC2ブログ

暗幕と、緑文字。

ネット接続出来ないWindows環境へのPEARパッケージマネージャのインストール(85bg)

標題のとおり、インターネットに繋がっていないWindows機に、PEARパッケージマネージャをインストールする手順のメモです。(かなり唐突な話題ですが)
因みにPEARパッケージマネージャとは、PHPのオフィシャルな拡張ライブラリであるPEARライブラリを管理するための支援ソフトで、使い方はdebianのaptに似ています。

基本的にネット接続ありきの仕組みのようで、やり方を調べるのに意外と時間がかかりました。(と言うことで、忘れないうちにメモメモ)
因みに、ろくな知識の無いまま適当にやったら出来たので、この通りやっておかしな事になっても責任は持てません。(いつもの事ですが)

実行環境
PCのOS : Windows XP SP1
PHPのバージョン : PHP Version 5.2.0(オフィシャル(http://www.php.net/downloads.php)からダウンロード&インストールしたもの)
PHPのインストール先 : C:/php

まず、http://go-pear.orgへアクセスし、表示されたスクリプトをgo-pear.phpという名前でC:/php/PEAR/の下に保存します。

C:/php/go-pear.batの内容を以下のように書き換えます。(デフォルトでインストールされているC:/php/PEAR/go-pear.pharは使用できないので、先ほど保存したgo-pear.phpを使用するように変更。localオプションをつける。)

-----go-pear.bat ココカラ-----
@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 PEAR/go-pear.php local
pause
-----go-pear.bat ココマデ-----


http://pear.php.net/packages.phpにアクセスし、以下のパッケージを取得します。
(※この10個が本当に全部必要なのかはわかりません。もっと少なくても良いのかもしれません)
PEAR(http://pear.php.net/package/PEAR)
XML_RPC(http://pear.php.net/package/XML_RPC)
XML_Parser(http://pear.php.net/package/XML_Parser)
Net_Socket(http://pear.php.net/package/Net_Socket)
Net_SMTP(http://pear.php.net/package/Net_SMTP)
MDB2(http://pear.php.net/package/MDB2)
DB(http://pear.php.net/package/DB)
Mail(http://pear.php.net/package/Mail)
Console_Getopt(http://pear.php.net/package/Console_Getopt)
Archive_Tar(http://pear.php.net/package/Archive_Tar)

インストールした07/1/15時点での最新のstable(安定版)は以下の通り。
PEAR-1.4.11.tgz
XML_RPC-1.5.1.tgz
XML_Parser-1.2.8.tgz
Net_Socket-1.0.6.tgz
Net_SMTP-1.2.8.tgz
MDB2-2.3.0.tgz
DB-1.7.7.tgz
Mail-1.1.14.tgz
Console_Getopt-1.2.1.tgz
Archive_Tar-1.3.2.tgz

10個のファイルはC:/php/PEAR/go-pear-bundle/というフォルダを作成してその下に保存し、それぞれを展開したフォルダも同じ階層に保存。更に全てのファイルを同じ階層にコピーする。
つまりC:/php/PEAR/go-pear-bundle/の「直下」には、圧縮ファイル本体と、それを展開したものと、展開された中に入っているファイル全てを(コピーして)置きます。たぶんここまでしなくても、何個かのファイルを抽出して置けば良いだけだと思いますが、調べるのが面倒だったので・・・。因みにコピーする際は同じファイル名のファイルがいくつか存在するため、「上書きしますか?」ときかれますが、漢の「全て上書き」で。

ここまでで、準備は終わり。
続いてインストール作業です。

先ほど変更したC:/php/go-pear.batをWクリックします。

以下の質問にEnterで答えます。

If you wish to abort, press Control-C now, or press Enter to continue:
HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none::
1-8, 'all' or Enter to continue:

以下の質問にYで答えます。

Would you like to install these as well? [Y/n] : Y

多分こんなワーニングが出たりしますが、気にしないことにします。
warning: pear/PEAR requires package "pear/Archive_Tar" (version >= 1.3.1)
warning: pear/PEAR requires package "pear/Console_Getopt" (version >= 1.2)

以上でインストールの終了。


環境変数を書き換えるためのレジストリファイルがC:/php/PEAR_ENV.regにあるので、Wクリックして実行します。
追加される環境変数は以下の通り。
PHP_PEAR_BIN_DIR=C:/php
PHP_PEAR_DATA_DIR=C:/php/pear/data
PHP_PEAR_DOC_DIR=C:/php/pear/docs
PHP_PEAR_INSTALL_DIR=C:/php/pear
PHP_PEAR_PHP_BIN=C:/php/php.exe
PHP_PEAR_SYSCONF_DIR=C:/php
PHP_PEAR_TEST_DIR=C:/php/pear/tests


PHPの設定ファイルC:/WINDOWS/php.iniが以下のようになっていることを確認します。
include_path = ".;c:/php/includes;c:/php/pear"

(念のため)PCを再起動します。

これで、DOSプロンプトからPEARコマンドが使用できるようになっているはず。

c:/php>pear list

INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
Archive_Tar 1.3.2 stable
Console_Getopt 1.2.1 stable
MDB2 2.3.0 stable
PEAR 1.4.11 stable
XML_RPC 1.5.1 stable

と表示されればOKです。

PEARの動作確認のためPEAR_Infoパッケージを使用するのでhttp://pear.php.net/packages.phpから取得、ローカルに保存します。(今回はc:/PEAR/の下に保存したことにします)

C:/php>pear install c:/PEAR/PEAR_Info-1.6.1.tgz

install ok: channel://pear.php.net/PEAR_Info-1.6.1
と表示されればOKです。

念のためもう一度
C:/php>pear list

PEAR_Info 1.6.1 stable
行が表示されればOKです。

以下のスクリプトをpearinfo.phpという名前で保存。Apache等で公開されているフォルダに置いて、ブラウザ上からアクセスし、PEAR Configが表示されれば正常動作していると思います。
-----pearinfo.php ココカラ-----
<?php //この行だけ半角に修正してください。エスケープの仕方がわからない。
require_once "PEAR/Info.php";

$info =& new PEAR_Info();
$info->show();
?>
-----pearinfo.php ココマデ-----

なお、パッケージのインストールに際し、
C:/php>pear package-dependencies c:/PEAR/PEAR_Info-1.6.1.tgz
等として実行すると、そのパッケージの依存関係が表示できます。
REQUIRED?列がYesとなっているパッケージがインストールされていない場合は、先にインストールしないといけません。
noとなっているパッケージは必ずしもインストールされていなくても良いようですが、インストールされていないパッケージの数だけ"ネットにアクセス->タイムアウト"を繰り返しているようで、依存関係の多いパッケージのインストールには時間がかかります。(多分設定で回避できると思うんだけど・・・)


おまけ。
ローカルに保存しておいておける各種日本語マニュアル(HTML)のダウンロード先。下段は同内容のオンラインマニュアル。

●PHP
http://www.php.net/download-docs.php
http://www.php.net/manual/ja/

●PEAR
http://pear.php.net/manual/index.php
http://pear.php.net/manual/ja/

おまけのおまけ。PostgreSQLのマニュアルへのリンク。
●PostgreSQL
http://www.postgresql.jp/document/
  1. 2007/01/17(水) 22:58:26|
  2. PC関連(Windows機)|
  3. トラックバック:0|
  4. コメント:0
<<不定期連載「今日の買い物(第99回)」(80bg) | ホーム | アニメOP/ED四方山話(2006年12月分)(80bg)>>

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://hospitalward.blog7.fc2.com/tb.php/400-2189d1a5

如月

07 | 2019/08 | 09
Sun Mon Tue Wed Thu Fri Sat
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

なか~ま(´ー`)人(´¬`)

Search