XREA に PHP で OpenID を使用した認証システムを導入したいと思った。 しかし、OpenID Enabled にある JanRain のライブラリを使うとYahoo ID でログインしようとした時に画面が真っ白になり処理が途中で停止してしまう問題に直面した。 今時 OpenID 対応サービスを始めるなら間違いなく Yahoo ID は外せない存在になると思うので応急処置を施してみた。 原因はどうも XML に関連した処理の途中(libxml)でエラーを起こしていることらしく、ググるだけで問題箇所を特定できたためそれを回避するコードを書いた。 問題となっているのは DOMXPath->query の呼び出しで、まず grep してこの関数を呼び出している場所を探した。 すると Auth/Yadis/XML.php 内の Auth_Yadis_dom->evalXPath でしか