スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

PHP OAuthのエラー

Evernote APIのoauthサンプル(evernote-api-1.20)をPHPで動かすべくDLしてサーバにアップ。index.phpへアクセスしてみたところ、

The PHP OAuth Extension is not installed

というエラー表示。このエラーについてサンプル内を検索したら、以下のような記述を見つけた。どうやらOAuthの拡張機能が必要のようだ。

OAuth support is implemented using the <a href="http://www.php.net/manual/en/book.oauth.php">PHP OAuth Extension</a>

これを入れようと、サーバで、

# pecl install oauth

とコマンドしてみると、



running: make
/bin/sh /var/tmp/pear-build-root/oauth-1.2.2/libtool --mode=compile gcc -I. -I/tmp/tmpPckkzC/oauth-1.2.2 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/oauth-1.2.2/include -I/var/tmp/pear-build-root/oauth-1.2.2/main -I/tmp/tmpPckkzC/oauth-1.2.2 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -Wall -g -c /tmp/tmpPckkzC/oauth-1.2.2/oauth.c -o oauth.lo
mkdir .libs
gcc -I. -I/tmp/tmpPckkzC/oauth-1.2.2 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/oauth-1.2.2/include -I/var/tmp/pear-build-root/oauth-1.2.2/main -I/tmp/tmpPckkzC/oauth-1.2.2 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -Wall -g -c /tmp/tmpPckkzC/oauth-1.2.2/oauth.c -fPIC -DPIC -o .libs/oauth.o
In file included from /tmp/tmpPckkzC/oauth-1.2.2/oauth.c:14:
/tmp/tmpPckkzC/oauth-1.2.2/php_oauth.h:47:31: error: ext/pcre/php_pcre.h: No such file or directory
/tmp/tmpPckkzC/oauth-1.2.2/oauth.c: In function 'php_so_object_new':
/tmp/tmpPckkzC/oauth-1.2.2/oauth.c:178: warning: unused variable 'tmp'
/tmp/tmpPckkzC/oauth-1.2.2/oauth.c: In function 'oauth_http_build_query':
/tmp/tmpPckkzC/oauth-1.2.2/oauth.c:617: warning: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [oauth.lo] エラー 1

エラーが出て止まる。php_pcre.hが無いと言ってるのはわかるが、どうすればとググるもなかなか見つからなかったが、とってもぴったりなのを発見。

・Memo/PHP/PECL/oauth - DEX Lab
http://dex.qp.land.to/pukiwiki/index.php?Memo%2FPHP%2FPECL%2Foauth

CentOS5.4 php5.1.6で「ext/pcre/php_pcre.h: No such file or directory」エラーの場合。rpm版だと入っていないので、ソースから該当部分を取得

ここの説明にあるように、PHP5.1.6を一旦ダウンロードして、該当部分をコピーでいけた。


# yum install php-devel php-pear pcre-devel curl-devel
# wget http://museum.php.net/php5/php-5.1.6.tar.gz
# tar xvfz php-5.1.6.tar.gz
# cp -r php-5.1.6/ext/pcre /usr/include/php/ext/


「pecl install oauth」というコマンドだと、最新版の1.2.2をインストールしようとする。これだと、PHP5.1.6では動かないようだ。上記にあるように、とりあえず古い版を入れてみた。

#pecl install oauth-0.99.9



/etc/php.d/oauth.iniのiniファイルを新規作成するか、php.iniに

extension=oauth.so


と記述してApacheを再起動させると、やっとphpinfo()で認識してくれた。

Screenshot_1.png
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re:

>コメントくださった方

ブログより興味を持っていただきありがとうございます。
大変うれしく思いますが、今は転職を考えていませんので、
ご期待に添える事はできませんm(_ _)m
プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。