NP_OpenIDをXREAで使うときのTIPS

NP_OpenIDをXREAで使おうとしてもそのままでは動きません。
原因の2つあります。

  1. サーバがセーフモードで動作していることが、NP_OpenIDの仕様としてPOST/GETの両メソッドでパラメータの取得を妨害しており、正常に動作しない
  2. libxmlのバグ(PHP5のcgiモードではglibc detected *** malloc(): memory corruptionで落ちます)


1.の問題はNP_OpenIDをCGIモードで動作させることにより解決します。

ファイル名:nucleus/plugins/openid/.htaccess
AddHandler application/x-httpd-php5cgi .php
ファイル名:nucleus/plugins/openid/php.ini
safe_mode = off

2.の問題はファイルを置き換えることで解決します。
詳細は以下のサイトに載っています。

NP_OpenIDをXREA-CORESERVERで使う場合の注意 - NP_cles()

PHP4のcgiモードを使えばファイルを置き換えることなく動作しますが

  • HTTP認証のOpenID(openid.ne.jp)は使える
  • HTTPS認証のOpenID(Yahooやはてな)は使えない

ということが発生します。
HTTPS認証が要らないならphp4のcgiモードを使うのが一番手間がかかりません。
サーバー側でlibxmlのバグに対処してくれればこんな苦労をしなくて済むのですが、月額費用が安いため仕方がないと割り切っています。