PEARのインストール
幾つかのパッケージは改造が必要だったり、「beta」リリースを利用するしたりする必要があったりと、正直結構めんどくさいので、サクっと設置されたい向きは、pearpack.zipを利用してください。このアーカイブには、PEAR.phpファイルと、HTTP、Net、XMLの3ヶのフォルダがあります。これらのファイルとフォルダを、このスクリプトの各ファイルと同じ場所にアップロードしてください。
以上糸冬了です。
そんな安直なのはイヤイヤ(´Д`三´Д`)イヤイヤという向きは、以下を熟読ください。
※永らく内容の見直しをサボってたら、以下の文章はこのスクリプトに必要なPEARのインストールの説明としては不十分なものに成り果てていて、でも訂正するのもメンドーなのでそのまま放置してます。このスクリプトに必要なPEARのインストールは、pearpack.zipをご利用ください。
PEARは、標準規約に則ったPHPのClassパッケージで、その実体はPHPのスクリプトファイルです。従って、PEARは、通常のClassファイルと同様に、PHPが読み込み可能なパス(include_pathディレ クティブで定義するパス)に必要なファイルを(手動で)配置するだけで利用でき、特別なインストール作業は、必ずしも必要ではありません。
一方システムの管理者である場合は、パッケージマネージャを利用することで、インストールや、特にアップデートをより簡単に行うことができます。共用サーバの場合、パッケージマネージャは、SSH経由、あるいは(PHPスクリプト版を)ウェブブラウザから利用する手段も用意されていますが、前者はUNIXの知識が必要で、後者は往々にして期待通りには動作しないので、システムの管理者である場合はパッケージマネージャによるインストールを、それ以外は手動でのファイルの配置を検討してください。
パッケージマネージャによるインストール
システムの管理者である場合は、pearコマンドによってパッケージの管理が行えます(PHP 5.1.0以降及びPEAR 1.4.0a9以降はpeardevコマンドを利用してください)。これはインストールや、特にアップデートを最も簡単に行う方法です。
pear/peardevコマンドの詳細は、PEARマニュアルのCLIインストーラを参照してください。
必要なパッケージのインストール
このスクリプトに必要なパッケージは、HTTP_ClientとXML_RSSです。
pearコマンドでHTTP_Clientをインストールするには、コマンドラインで「pear(またはpeardev) install --alldeps HTTP_Client」とタイプします。「--alldeps」オプションを指定することにより、このパッケージに必要なすべての依存パッケージも自動的にインストールすることができます。
同様にXML_RSSをインストールするには「pear(またはpeardev) install --alldeps XML_RSS」とタイプします。
XML_RSSのインストールについては、XML_RSSに関する注意をご覧ください。
なお、このスクリプトでは、その機能を充分に活用するためには、幾つかのパッケージについて改造が必要です(改造しない限り動作しないというわけではありません)。詳細は、改造を要するパッケージについてをご覧ください。
Windows版の注意
Windows版のPHPでは、初期状態ではPEARはインストールされていません。最初にPHPのインストール先フォルダにあるgo-pear.batを実行して、pear/peardevコマンド(pear.bat/peardev.bat)をインストールしてください。
なお、PEARを利用するためには、PEARのインストール先フォルダ(規定では、PHPのインストール先フォルダ内の「PEAR」フォルダ)が、php.iniのinclude_pathディレ クティブに追加定義されている必要があり、go-pear.batは自動的にphp.iniを編集しようとしますが、これは往々にして失敗します。その場合は手動でphp.iniを編集してください(例えば、PEARが「C:\php\PEAR」にインストールされているなら、「include_path=".;C:\php\PEAR"」のように記述します)。
共用サーバでのパッケージマネージャ
共用サーバでは、SSH経由で、あるいはPHPスクリプト版のパッケージマネージャを利用して、自身に割り当てられた領域に、パッケージのローカルコピーを作成する手段が用意されていますが、前者はUNIXの知識が必要で、後者は、往々にして期待通りには動作しないばかりか、作成されるファイルを操作できなくなってしまう場合もあるため、これらの利用は避け、共用サーバでは手動でのファイルの配置を検討してください。
手動でのファイルの配置
PEARは、標準規約に則ったPHPのClassパッケージで、その実体はPHPのスクリプトファイルです。従って、PEARは、通常のClassファイルと同様に、PHPが読み込み可能なパス(include_pathディレクティブで定義するパス)に必要なファイルを(手動で)配置するだけで利用でき、特別なインストール作業は、必ずしも必要ではありません(システム管理者の場合は、パッケージマネージャを利用すると、インストールや、特にアップデートをより簡単に行うことができます)。
パッケージの配置先
PEARパッケージは、public_htmlなどのHTTP公開ディレクトリ(HTTPアクセスが可能なディレクトリ)以外に配置することが推奨されます。例えば、ホームディレクトリが/home/fooで、公開ディレクトリが/home/foo/public_html以下の場合、/home/foo/include/PEARのようなディレクトリを作成して、パッケージの配置先とします。
下図は、この例での/home/foo/include/PEAR以下の典型的な構成例です。
/home/foo ├┬include │└┬PEAR │ ├┬Net │ │├─Socket.php │ │└─URL.php │ ├┬HTTP │ │├─Client.php │ │├┬Client │ ││└─CookieManager.php │ │├─Request.php │ │└┬Request │ │ └─Listener.php │ └┬XML │ ├─Parser.php │ ├┬Parser │ │└─Simple.php │ └─RSS.php └─public_html
インストール手順
- パッケージの配置先を決定したら、設定ファイル(Config.inc.php)の冒頭にある「追加パスの設定など」欄で、配置先のパスをinclude_pathに追加します。
例えば配置先が「/home/foo/include/PEAR」の場合、設定ファイルのこの部分を以下のように修正し、行頭のコメント記号を削除してください(「:」はパスの区切り文字で、UNIX系は「:」、Windowsは「;」です)。ini_set('include_path', '/home/foo/include/PEAR:' .ini_get('include_path')); - ウェブブラウザで、動作要件の確認スクリプト(_check.php)を表示し、不足しているPEARパッケージについてのメッセージに示されたURLから、各パッケージのアーカイブをダウンロードします(Windowsで作業する場合は、+Lhaca 1.2系や解凍レンジなどの、TGZ形式に対応したアーカイバが必要です)。
なお、XML_RSSについては、XML_RSSに関する注意をご覧ください。 - 例えばHTTP_Client 1.0.0のアーカイブは以下のような構造になっています。
この場合、パッケージの配置先にHTTPディレクトリを作成し、Client.phpファイルとClientディレクトリをアップロードします(上にある、サーバ上のファイル配置の例を参照してください)。HTTP_Client-1.0.0.tgz ├─package.xml └┬HTTP_Client-1.0.0 └┬─Client.php ├┬Client │└─CookieManager.php └┬examples └─link-checker.php
このように、パッケージの配置先に、パッケージ名の接頭辞(HTTP_Clientの場合は「HTTP」)と同名のディレクトリを作成し、アーカイブ内の、パッケージ名の接尾辞(HTTP_Clientの場合は「Client」)と同名のPHPファイルとディレクトリをそこに配置します。
なお、アーカイブ内の、docs、tests、examplesといった名前のディレクトリにはドキュメントやサンプルスクリプトがあり、また、package.xmlはパッケージマネージャーでのインストールの際に使用するファイルで、いずれもサーバにアップロードする必要はありません。
なお、このスクリプトでは、その機能を充分に活用するためには、幾つかのパッケージについて改造が必要です(改造しない限り動作しないというわけではありません)。詳細は、改造を要するパッケージについてをご覧ください。
XML_RSSに関する注意
バージョン0.9.2のXML_RSSには以下の問題があるため、バージョン0.9.9以降を利用してください。
- バージョン0.9.2のXML_RSSは、RDF(RSS 1.0)のcontent:encoded要素をサポートしていません。このバージョンを利用している場合、このスクリプトでRDFを表示すると、記事本文はcontent:encoded要素ではなくdescription要素の内容になります(description要素では、一般的にHTMLタグが省略されています)。
- XML_RSSはXML_Parserに依存しますが、バージョン0.9.2のパッケージ情報には誤りがあり、依存するパッケージがXML_ParserではなくXML_Treeになっているため、XML_Parserがインストールされていない場合、pear/peardevコマンドで「--alldeps」オプションを指定した場合などでも、XML_Parserはインストールされません(代わりに、不要なXML_Treeがインストールされます)。
なお、XML_RSS 0.9.9は「beta」リリースです。
pear/peardevコマンドで、こののような、「stable」ではないリリースをインストールするには、「pear(またはpeardev) install --alldeps http://pear.php.net/get/XML_RSS-0.9.9.tgz」のように、パッケージ名ではなく、アーカイブのURLを指定します(あるいは、アーカイブをダウンロードしてそのファイル名を指定します)。
改造を要するパッケージについて
このスクリプトでは、その機能を充分に活用するためには、以下のパッケージについて改造が必要です(改造しない限り動作しないというわけではありません)。
- HTTP_Request(HTTP/Request.php)
- HTTP_Client_CookieManager(HTTP/Client/CookieManager.php)
ただし、この改造によって、これらのパッケージは、本来とは異なる動作になる点が発生しますので、改造を施したパッケージは、他のスクリプトと共用することはできません。改造したパッケージは、このスクリプト専用の場所に配置し、そのパスを、設定ファイル(Config.inc.php)の冒頭にある「追加パスの設定など」欄で、include_pathに追加して利用してください(このパスが、共用のPEARのパスより先に読み込まれるように記述してください)。
pearpack.zipに含まれるこれらのファイルは、必要な改造を施したものになっています(「begin」と「end」で始まるコメント行に挟まれた行が追加されています)。これを参考に、適宜修正を施してみてください。
なお、HTTP_Client_CookieManagerの改造は、掲示板の58-77スレあたりの名無しさんのご助言によるものです。謝謝。
2005/08/10
トラックバック
このエントリーのトラックバックURL:
http://www.rcdtokyo.com/mt/mt-rcdtokyo5428-tb.cgi/19