PHP未捕获的CurlException

时间:2011-05-13 21:15:10

标签: php curl

我正在为facebook开发一个开放的id应用程序。

我收到此错误:

Fatal error: Uncaught CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed thrown in C:\wamp\www\x\modules\openid\facebook.php on line 614

周围有这段代码:

 if (isset($opts[CURLOPT_HTTPHEADER])) {
  $existing_headers = $opts[CURLOPT_HTTPHEADER];
  $existing_headers[] = 'Expect:';
  $opts[CURLOPT_HTTPHEADER] = $existing_headers;
} else {
  $opts[CURLOPT_HTTPHEADER] = array('Expect:');
}

curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
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;
}
curl_close($ch);
return $result;
}

实际的行614是:

  $e = new FacebookApiException(array(

我正在使用php 5.2.11运行Windows 7和WAMP

1 个答案:

答案 0 :(得分:0)

无论出于何种原因,它都希望您验证SSL证书。您可以使卷曲继续使用:(来自curl

  

CURLOPT_SSL_VERIFYHOST 错误

     

阻止cURL验证对等方的证书。可以使用CURLOPT_CAINFO选项指定要验证的备用证书,也可以使用CURLOPT_CAPATH选项指定证书目录。如果禁用CURLOPT_SSL_VERIFYPEER,则CURLOPT_SSL_VERIFYHOST也可能需要为TRUE或FALSE(默认为2)。默认情况下,从cURL 7.10开始为TRUE。从cURL 7.10开始安装的默认包。

您可能还需要检查该设置以及CURLOPT_SSL_VERIFYHOST设置。

您还应该查看以下链接:http://forum.developers.facebook.net/viewtopic.php?pid=258460