連載
» 2011年03月04日 00時00分 公開

ステップアップ! PHP(1):PEARのライブラリでTwitterにアクセス (2/3)

[田中正裕,アシアル株式会社]

PEARコマンドの準備

 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ライブラリがエラーや例外を発行するときに使う「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をインストール

 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ディレクトリ)
           └Services/
               └Twitter.php
               └Twitter/
                   └そのほかのプログラムファイル

PHPの設定ファイルにパスを記述

 PEARライブラリの実体はPHPで記述したコードです。ライブラリをプログラムから利用するにはincluderequireといった構文を使って、ライブラリを取り込む必要があります。ライブラリを取り込むには、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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。