PEAR HTTP_Requestでちょいはまり・・・

PHPウェブアプリケーションから別のウェブアプリに SSL経由でPOSTでデータ送って
そのレスポンスを取得して処理を行うー、というのをやることに。
メール配信ASPの、外部アプリからの制御インターフェイスなんですがー・・・


POSTかー、GETならURLに引っ付けてもっさりリクエスト送るだけだから楽なんだけどなー。
と思いながら PEAR を探してみると、あっさり見つかりました。
PEAR::HTTP_Request使えば楽チンですね!
開発環境は Windows上なのですが、この辺は特に問題なくインストールできます。
pearコマンド使えます。


で、インストールして色々試すのですが、どうもうまく動かない。
どんだけ弄っても Malformed response になってレスポンスが取得できません。
ぐぐるさんをツッツキ倒してなんとか、 OpenSSLが無効なんじゃね?というヒントを発見。
早速 OpenSSLをインストールして apache再起動、テスツ!


この辺で気づけばよかったのにね、全くもう!
この後も一向にうまくいかず。結局一日つかって解決出来ず・・・うぎぎ。


試行錯誤を繰り返して至った原因は極単純・・・
php.ini に


extension php_openssl.dll


この一行がなかったためでした!orz
ssl経由でリクエストを送るとき、HTTP_Request は OpenSSLに由来するPHP関数を利用するようです。
ということは、php_openssl.dll を読み込んでいれば OpenSSLのインストールは必要なかったのか・・・?


開発やってるとこういうことは日常茶飯事だ・・・うわーん