F.Ko-Jiの「一秒後は未来」

MacにPHPのPECL OAuthライブラリをインストール

PHP で OAuth を扱えるライブラリはないかなと探してみると、PECL OAuth が見つかったのでインストールしてみることにした。環境は Mac OS 10.5.7 で PHP は MacPorts でインストールした以下のものが入っている。

$ sudo port installed | grep php
  php5 @5.2.9_0+apache2+imap+macosx+mysql5+pear+sqlite (active)

PECL OAuth は2009年8月9日現在でバージョンが 0.99.9 のベータ版となっている。そのためパッケージは「oauth-beta」と指定。

$ sudo pecl install oauth-beta

ここでインストールは完了したが、php.ini に extension を書き込むことができなかった模様。

...
install ok: channel://pecl.php.net/oauth-0.99.9
configuration option "php_ini" is not set to php.ini location
You should add "extension=oauth.so" to php.ini

と出力されたので /opt/local/etc/php.ini に extension=oauth.so を手動で追加。

$ sudo vim /opt/local/etc/php.ini

ここで Apache を再起動して OAuth のサンプルコードを動かしてみたが、OAuth クラスが見つからないとエラーが。phpinfo() でも出ていない。

色々と調べて、どうやら php.ini に oauth.so がインストールされたディレクトリを指定していなかったことが原因と判明。

インストール時の出力を見てみると、oauth.so は /usr/lib/php/extensions/no-debug-non-zts-20060613 にインストールされていたので、php.ini に以下を追加。

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"

保存したら Apache を再起動。

$ sudo /opt/local/apache2/bin/apachectl restart

これで無事使えるようになった。

php-info-oauth.gif

ちなみに php.ini に extension=oauth.so を書き込めなかった件、pear の config-set で php_ini に php.ini の場所を指定していれば自動で書き込まれるのだけど、この場合でも extension_dir は書き込まれなかったので結局手動で追加しないといけなかった。

(追記: 2009-08-10) extension_dir は複数指定できないようなので、適当にシンボリックリンクにしたほうがよさそう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など