ドコモのOpenIDログインでエラー

先日ドコモの OpenID を使用したログインシステムを作る機会が有ったのですが。

行き詰まりました。

めちゃくちゃ悩みました。

ネット世界を這いずり回ってようやく答えを見つけたので記録。

まず、症状としては下記のような init って関数が無いってエラーが出る。

Call to a member function init() on a non-object

エラー箇所は「Auth/OpenID/DiffieHellman.php」の 60 行目(バージョンによって行数違うかも)

たぶん php 5.4 以降を使用すると発症すると思われる。

そしてようやく見つけたのが下記のサイト。
⇒ http://dbcls.rois.ac.jp/~yayamamo/fsyl/2010/07/openid-%E3%81%A7-semantic-media-wiki-%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3/

どうやら curl と DOM の他に GMP というライブラリを必要とするらしい。

しかもこれ、OpenID のドキュメントにちゃんと書いてあるそう・・・

ドコモ関係なく、普通に OpenID のインストールで失敗するというね。

恥ずかしい・・・

手順は ./configer の際にオプションで –with-gmp を付けるだけ。

あとは make して make install して完了。

ちなみに自分は make check しない派です。

紹介してるサイトでは「GMP ライブラリをインストールして」とかやってますが、自分はオプション付けるだけで動きました。

ちなみに GMP は算術に使用される関数ライブラリらしいです。

見た瞬間は GIMP が思い浮かんだのでグラフィック系かと思いましたが、違うようです。

とりあえずこれを入れたら動いたので一件落着。

コメントを残す

コメントは管理人による事前承認制です。
管理人が不適切だと判断した場合、承認せず削除することがあります。

ここにはチェックしないでください

This site uses Akismet to reduce spam. Learn how your comment data is processed.