如何修复facebook致命错误:未捕获的CurlException问题

时间:2011-06-21 19:58:06

标签: facebook api curl

我有时会从Facebook发来这个错误:

Fatal error: Uncaught CurlException: 28: connect() timed out! thrown in /var/www/html/xxx/facebook/src/facebook.php on line 614

它破坏了我的网站。

这是来自facebook.php的代码

if ($result === false) {
  $e = new FacebookApiException(array(
    'error_code' => curl_errno($ch),
    'error'      => array(
      'message' => curl_error($ch),
      'type'    => 'CurlException',
    ),
  ));
  curl_close($ch);
  throw $e;
}

有没有办法解决这个问题?或者至少优雅地降级? 感谢

如果return false;,我想考虑$result === true 但我不知道是否会解决它

2 个答案:

答案 0 :(得分:2)

捕获异常以避免立即发生致命错误,但您仍需要 调整到facebook数据不可用。见http://www.php.net/catch

try {
    // facebook code
} catch (Exception $e) {
    // maybe something more graceful...
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}
// regular execution continues.

答案 1 :(得分:2)

我昨天在所有应用程序(大约20个)上都遇到了同样的问题。它在大多数情况下都能正常工作,但有时而不是加载页面这是用户得到的(我认为这是因为使用$ me = $ facebook-> api('/ me'); - 在我删除后我没有还没有出现这个错误,但现在的问题是我需要这个来获取用户数据。