Curlが使えないサーバでPHP OpenID Libraryを使う際の注意点
CakePHP Usersのフォーラムに、私の書いたエントリーを参考にして頂いたOpenIDの記事が上がってました(答えた)。
OpenID関連でブログに書こうと思って忘れていたことを思い出したので、エントリーを書きます。
Curlが使えないサーバでPHP OpenID Library使う場合のちょっとしたTIPSです。
Curlを使わないよ、宣言
なにも設定していないと、Curlを使うようになっています。
Curlが使えない環境(お客さんの環境で勝手にいじれないとか、テスト環境を整備してないとか)の場合、
自動的に、切り替えてくれないので、自分でCurlを使わないよ、宣言しなければいけません。
定数Auth_Yadis_CURL_OVERRIDEを定義します
定義すれば良いだけなので、なんでもOK
CakePHPでやるならコンポーネントとか、どこでも良いですが、こんな感じ
OpenID component for CakePHP
openid.php
//curlを使わないようにする
define('Auth_Yadis_CURL_OVERRIDE', '1');
一応ソースはこのへんです。
PHP OpenID Library
Auth/Yadis/Yadis.php
/**
* Returns an HTTP fetcher object. If the CURL extension is
* present, an instance of {@link Auth_Yadis_ParanoidHTTPFetcher}
* is returned. If not, an instance of
* {@link Auth_Yadis_PlainHTTPFetcher} is returned.
*
* If Auth_Yadis_CURL_OVERRIDE is defined, this method will always
* return a {@link Auth_Yadis_PlainHTTPFetcher}.
*/
function getHTTPFetcher($timeout = 20)
{
if (Auth_Yadis_Yadis::curlPresent() &&
(!defined('Auth_Yadis_CURL_OVERRIDE'))) {
$fetcher = new Auth_Yadis_ParanoidHTTPFetcher($timeout);
} else {
$fetcher = new Auth_Yadis_PlainHTTPFetcher($timeout);
}
return $fetcher;
}
Popularity: 11 %
by redgasuki 











コメントはまだありません。