PEARはPHP Extension and Application Repositoryの略で、PHPのライブラリを集めたものです。ライブラリはパッケージと言う単位で構成されます。PEARはそれとともにパッケージのインストーラー(パッケージマネージャ)であるpearコマンドも提供します。
パッケージの一覧はここで見ることができます。
pearコマンドの使い方
pearでパッケージをインストールする前に、それらがphpでちゃんと利用可能になっているか確認しなくてはなりません。つまりpearでインストールされたファイルがphpから見えるようになっていなければなりません。そのためにまず以下のコマンドを実行して、pearの”PEAR directory”を確認します。
$ pear config-get php_dir
/usr/share/php5-pear
$
つぎに、phpinfo();をブラウザで表示して、phpのinclude_pathディレクティブに上記のパスが含まれているか確認します。
上記のことを確認したら以下のファイルを作りブラウザで表示させます。
1 2 3 |
<?php require "System.php"; ?> |
System.phpはpearのphp_dirに存在するはずなので、このファイルをブラウザで開いてブラウザやサーバのログにphpのエラーがでなければ、pearは使えることになります。
インストールされているパッケージを表示
$ pear list
インストールされているパッケージの情報を表示
$ pear info
リポジトリからパッケージを検索
$ pear search aaa
HTML_Menuをインストールしてみる
# pear install HTML_Menu
Did not download optional dependencies: pear/HTML_Template_Sigma, use --alldeps to download automatically
pear/HTML_Menu can optionally use package "pear/HTML_Template_Sigma"
downloading HTML_Menu-2.1.4.tgz ...
Starting to download HTML_Menu-2.1.4.tgz (14,295 bytes)
.....done: 14,295 bytes
install ok: channel://pear.php.net/HTML_Menu-2.1.4
インストールされたファイルを確認。
# pear list-files HTML_Menu
Installed Files For HTML_Menu
=============================
Type Install Path
doc /usr/share/php5-pear/doc/HTML_Menu/examples/data/menu.php
doc /usr/share/php5-pear/doc/HTML_Menu/examples/templates/sigma.html
doc /usr/share/php5-pear/doc/HTML_Menu/examples/templates/sigmatree.html
doc /usr/share/php5-pear/doc/HTML_Menu/examples/directtree.php
doc /usr/share/php5-pear/doc/HTML_Menu/examples/sigma.php
doc /usr/share/php5-pear/doc/HTML_Menu/examples/sigmatree.php
doc /usr/share/php5-pear/doc/HTML_Menu/examples/types.php
php /usr/share/php5-pear/HTML/Menu/ArrayRenderer.php
php /usr/share/php5-pear/HTML/Menu/DirectRenderer.php
php /usr/share/php5-pear/HTML/Menu/DirectTreeRenderer.php
php /usr/share/php5-pear/HTML/Menu/Renderer.php
php /usr/share/php5-pear/HTML/Menu/SigmaRenderer.php
php /usr/share/php5-pear/HTML/Menu/SigmaTreeRenderer.php
php /usr/share/php5-pear/HTML/Menu.php
php /usr/share/php5-pear/HTML/MenuBrowser.php
docとついているものはドキュメントなのでこれらを参考にする。ここではexmapleディレクトリ以下を全部サーバに持ってきてテストしてみた。
sigma.phpを開くと以下のようなエラー。
Warning: require_once(HTML/Template/Sigma.php) [function.require-once]: failed to open stream
テンプレートが使えるらしくてファイルが見つからないらしいが、スルー。
終わり。