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.ini に extension=oauth.so を書き込めなかった件、pear の config-set で php_ini に php.ini の場所を指定していれば自動で書き込まれるのだけど、この場合でも extension_dir は書き込まれなかったので結局手動で追加しないといけなかった。
(追記: 2009-08-10) extension_dir は複数指定できないようなので、適当にシンボリックリンクにしたほうがよさそう。
コメントを残す