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 进程各个阶段的连接超时有关:

  • 首先,建立了连接,但没有(或很少)返回数据
  • 第二,根本无法建立连接
  • 第三,建立了 TCP 连接,但在安全通道的协商中被丢弃

正如 Shawn E. Carter 上面所说,这个错误似乎是同一个问题https://developers.facebook.com/bugs/328399317246454?browse=search_4ff4817e0c5ec9768956669和这个问题一样Can not connect to Facebook with a curl request

归根结底,这只是意味着 Facebook 的 API 服务器比预期的要慢一些。您可以尝试使用更长的超时时间,或者,由于它是间歇性的,因此捕获异常并重试。

于 2012-07-18T22:28:14.243 回答