PayPalオートメール
cURL関数がおかしい?
2012年09月06日
【PayPalオートメール】のユーザーさんから、どうしても動かないとの連絡がありました。
外からあれこれ調べてみたのですが、どうしても原因がわかりませんでした。
結局そのユーザーさんのサーバーアカウントをお借りして調べることになりました。
色々な情報を吐かせながら、どこが原因で動かないのか切り分けをしていくと、どうやら【PayPalオートメール】からPayPalへ接続するところで躓いていることがわかりました。
【PayPalオートメール】はPHPのcURL関数を使って、PayPalにSSL接続をしています。
どうも【curl_setopt】関数がおかしい動きをしているようなのです。
PayPalからサンプルとして提供されているソースを基盤に作っているんですがね・・・
まず、
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
を走らせるとエラーで止まります。
仕方ないのでコメントアウトして走らせてみました。
他の色々なオプションを設定して、
curl_exec($ch);
を実行します。エラーが起こった場合、falseが返ってくるそうなのですが、何も返ってきません。
curl_errno($ch);
でエラー番号が、
curl_error($ch);
でエラーメッセージが取得できるので、出力させてみました。
すると、
Unknown SSL protocol error in connection to www.sandbox.paypal.com:443
のメッセージが・・・
何じゃ?
そのサーバーの別のアカウントで全く同じソースを走らせてみたのですが、何の問題もなく、あっけないほどあっさりと、走りました。
ということは、動かないそのアカウントが何かおかしくなってる?
PHPのマニュアルを見ると、【CURLOPT_SSL_VERIFYPEER】は【7.10 以降、デフォルトでインストールされています。】とあります。もしかして、バージョンが違う???
でもバージョンの違いで【Unknown SSL protocol・・・】というのもおかしいかな。
バージョンによって設定しなければいけないオプションが違う??
【CURLOPT_SSL_VERIFYPEER】オプションは動かさなくても、【Unknown SSL protocol・・・】エラーが出るので、今のところどうにもならないか・・・
まぁこれ以上は私には無理と判断したので、サーバーの管理者も巻き込んでもらうことにしました。
ユーザーさんからも、他のサーバーにインストールしてみたら、すんなり動いたと連絡がありました。
一体何なのか。すっきりしないです。
外からあれこれ調べてみたのですが、どうしても原因がわかりませんでした。
結局そのユーザーさんのサーバーアカウントをお借りして調べることになりました。
色々な情報を吐かせながら、どこが原因で動かないのか切り分けをしていくと、どうやら【PayPalオートメール】からPayPalへ接続するところで躓いていることがわかりました。
【PayPalオートメール】はPHPのcURL関数を使って、PayPalにSSL接続をしています。
どうも【curl_setopt】関数がおかしい動きをしているようなのです。
PayPalからサンプルとして提供されているソースを基盤に作っているんですがね・・・
まず、
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
を走らせるとエラーで止まります。
仕方ないのでコメントアウトして走らせてみました。
他の色々なオプションを設定して、
curl_exec($ch);
を実行します。エラーが起こった場合、falseが返ってくるそうなのですが、何も返ってきません。
curl_errno($ch);
でエラー番号が、
curl_error($ch);
でエラーメッセージが取得できるので、出力させてみました。
すると、
Unknown SSL protocol error in connection to www.sandbox.paypal.com:443
のメッセージが・・・
何じゃ?
そのサーバーの別のアカウントで全く同じソースを走らせてみたのですが、何の問題もなく、あっけないほどあっさりと、走りました。
ということは、動かないそのアカウントが何かおかしくなってる?
PHPのマニュアルを見ると、【CURLOPT_SSL_VERIFYPEER】は【7.10 以降、デフォルトでインストールされています。】とあります。もしかして、バージョンが違う???
でもバージョンの違いで【Unknown SSL protocol・・・】というのもおかしいかな。
バージョンによって設定しなければいけないオプションが違う??
【CURLOPT_SSL_VERIFYPEER】オプションは動かさなくても、【Unknown SSL protocol・・・】エラーが出るので、今のところどうにもならないか・・・
まぁこれ以上は私には無理と判断したので、サーバーの管理者も巻き込んでもらうことにしました。
ユーザーさんからも、他のサーバーにインストールしてみたら、すんなり動いたと連絡がありました。
一体何なのか。すっきりしないです。
コメント