5

次のエラーがランダムに発生します。それは毎回起こるわけではありません。

PHP Fatal error:  Uncaught CurlException: 28: Operation timed out after 60 seconds with 47 out of 47 bytes received
PHP Fatal error:  Uncaught CurlException: 28: connect() timed out!
PHP Fatal error:  Uncaught CurlException: 35: Unknown SSL protocol error in connection to graph.facebook.com:443 

私が試したことは

1. adding CURLOPT_SSLVERSION     => 3 (even try changing to 2)
2. changing 'https://api-read.facebook.com/' to 'api_read'  => 'https://api.facebook.com/'
3. adding   $opts[CURLOPT_SSLVERSION] = 3;                                          
            curl_setopt( $ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
4. Changing CURLOPT_CONNECTTIMEOUT => from 10 to 60
5. closing IPv6 and add 69.171.224.54   graph.facebook.com to /etc/hosts (several other IPs also added)
6. telnet graph.facebook.com 443 and nslookup graph.facebook.com

さらにどこを見ればいいのかわからない。助けてください!

参考:cURLサポート=有効、cURL情報= 7.15.5、OpenSSLバージョン= 0.9.8e(最新のCentos 5.7で更新可能)

4

1 に答える 1

3

これらのエラーはすべて、HTTP プロセスのさまざまな段階での接続タイムアウトに関連しています。

  • 最初に、接続は確立されましたが、データが返されませんでした (またはごくわずかです)。
  • 2 つ目は、接続をまったく確立できませんでした。
  • 3 番目では、TCP 接続が確立されましたが、安全なチャネルのネゴシエーションのどこかでドロップされました。

ショーン・E・カーターが上で述べているように、このバグは同じ問題ようです

最終的には、Facebook の API サーバーが予想よりも少し遅かったということです。より長いタイムアウトを使用するか、断続的であるため、例外をキャッチして再試行することができます。

于 2012-07-18T22:28:14.243 に答える