PEARパッケージを使うには、先述の通りpearコマンドが必要です。pearコマンドは公式PEARサイトにあるパッケージのダウンロードやインストール、アップグレードなどの管理のためのツールです。PEARチャンネルに登録されているパッケージの管理もできます。
多くの場合、PHPをインストールすれば、pearコマンドもインストールされるものですが、そうならないこともあります。そのようなときは、Linuxが備える「yum」や「apt-get」といったパッケージ管理ツールでインストールしましょう。
例えば「CentOS」などのRed Hat系ディストリビューションならば以下のようにyumを使います。
# yum install php-pear
Debian系ディストリビューションならapt-getを使います。
# apt-get install php-pear
以上のようにコマンドを実行することで、PEARコマンドを利用できるようになります。
WindowsやMac OS XでPEARを利用する方、もしくはレンタルサーバ(共有ホスト)にパッケージをインストールする方は、このWebページを参考にしてください。
実は、pearコマンドはPEARの「PEAR」というパッケージ(ベースパッケージ)が持つコマンドになっています。そのほかにもベースパッケージには、PEARライブラリがエラーや例外を発行するときに使う「PEAR_Error」クラスや「PHP_Exception」クラスなどを持っており、PEARパッケージを使うときはこれらのクラスを使うように定められています。
yumやapt-getでインストールしたベースパッケージのバージョンが古くなっている可能性もあるので、まずはPEARパッケージをアップグレードします。下記のようにコマンドを実行してください。
# pear channel-update pear.php.netRetrieving channel.xml from remote serverUpdate of Channel "pear.php.net" succeeded# pear upgrade pear pear/Console_Getopt requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0downloading PEAR-1.9.1.tgz ...Starting to download PEAR-1.9.1.tgz (293,587 bytes)....................................done: 293,587 bytesupgrade ok: channel://pear.php.net/PEAR-1.9.1
ここでは最初にpearコマンドの「channel-update」オプションを利用してPEAR公式パッケージのサーバ情報をアップデートしています。channel-updateオプションは、文字通りPEARチャンネルのサーバ情報のアップデートに使うものです。PEAR公式パッケージのサーバもPEARチャンネルのサーバの一部とも言えますね。
サーバ情報をアップデートしたら、「upgrade」オプションを使ってPEARパッケージをアップグレードします。上のコマンド実行例では、インストール済みのPEARがバージョン1.9.0になっていたので、最新の1.9.1にアップグレードしています。pearコマンドで利用できるオプションは、
# pear help
で一覧できます。その中でもよく使うコマンドを、表2にまとめました。
オプション | 機能 |
---|---|
install | パッケージをインストール |
upgrade | インストール済みのパッケージを最新版に更新 |
upgrade-all | すべてのインストール済みパッケージを最新版に更新 |
list | インストール済みパッケージの一覧を表示 |
channel-discover | 新しいPEARチャンネルサーバを登録 |
channel-update | PEARチャンネルサーバの情報を更新します |
info | インストール済みのPEARパッケージの情報を表示。対応するPHPのバージョンや依存パッケージの一覧を表示 |
表2 PEARコマンドの主なオプション |
Services_Twitterは、その名の通りPHPプログラムからTwitterを操作するためのライブラリです。PHPのバージョン5.2以上に対応しており、本稿執筆時点での最新版は0.6.3(ベータ版)です。このパッケージを使うと、Twitterのツイート検索やタイムライン取得はもちろん、ツイートの投稿やアカウント管理なども可能です。
pearコマンドが使えるようになったので、Services_Twitterをインストールします。インストールは非常に簡単で、先ほどと同じようにpearコマンドを使います。
# pear install --force --alldeps Services_Twitterdownloading Services_Twitter-0.6.3.tgz ...Starting to download Services_Twitter-0.6.3.tgz (60,495 bytes)...............done: 60,495 bytes・ ・・install ok: channel://pear.php.net/Services_Twitter-0.6.3
Services_Twitterのインストールでは、オプションに「--force --alldeps」というオプションを付けています。「--force」は強制的にインストールすることを示しており、指定したパッケージや依存パッケージがベータ版やアルファ版であっても強制的にインストールします。「--allpdeps」はServices_Twitterとその依存パッケージをまとめてインストールするという意味です。
パッケージをダウンロードすると、自動的に展開され、ライブラリのファイルは所定のディレクトリ(PEARディレクトリ)に配置されます。PEARディレクトリは設定により異なります。確認するには、pearのconfig-getオプションを利用します。
# pear config-get php_dir/usr/share/pear
実際にはパッケージ名に応じて、PEARディレクトリ以下にディレクトリ階層ができ、その中にファイルが配置されます。例えば、Services_Twitterパッケージなら、下記のようにディレクトリができ、ファイルが配置されます。プログラムから呼び出せる機能は「Twitter.php」にあります。
/usr/share/pear(PEARディレクトリ) |
PEARライブラリの実体はPHPで記述したコードです。ライブラリをプログラムから利用するにはincludeやrequireといった構文を使って、ライブラリを取り込む必要があります。ライブラリを取り込むには、PEARディレクトリをPHPのinclude_path設定に追記しておくと便利です。
具体的にはphp.iniファイルを編集し、下記のように記述を加えます。なおphp.iniを編集したら、Webサーバを再起動して設定を反映しておきましょう。
include_path = ".:/usr/share/pear"
先に、# pear config-get php_dirコマンドを実行して調べておいたPEARディレクトリをパスとして加えているわけです。
Copyright © ITmedia, Inc. All Rights Reserved.