使用捆绑信息找不到或没有找到证书颁发机构

时间:2011-09-10 19:50:28

标签: php facebook

我开始使用facebook API了。 我从facebook下载了示例代码,配置了我的appID和密钥。

<?php
   require '../src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => '...',
  'secret' => '....',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

// This call will always work since we are fetching public data.
$naitik = $facebook->api('/naitik');

?>

在localhost上,脚本没有错误。但在主机上我收到以下错误:

  

使用捆绑信息找不到或没有找到证书颁发机构

.crt 文件已成功上传

有人可能会指出我的错误吗? 提前致谢。

4 个答案:

答案 0 :(得分:20)

将CURL中的选项设置为指向证书文件

此选项将告诉CURL您的fb_ca_chain_bundle.crt文件与脚本位于同一文件夹中。

Facebook::$CURL_OPTS[CURLOPT_CAINFO] = getcwd().'/fb_ca_chain_bundle.crt';

在base_facebook.php第844行中,curl_exec失败并生成错误。然后脚本设置:

curl_setopt($ch, CURLOPT_CAINFO,
              dirname(__FILE__) . '/fb_ca_chain_bundle.crt');

再试一次。

第二次一切顺利,没有任何问题,只会弄乱你的日志

请勿使用

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;

或者中间人可以拦截你的电话!

答案 1 :(得分:5)

禁用SSL安全功能

虽然我不认识到确切的错误消息,但是通过PHP SDK(以及Curl)与Facebook通信时出现SSL问题很常见。你尝试过做这样的事吗?

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;

这将禁用SSL“验证对等方”安全功能,以便它停止生成错误消息。

答案 2 :(得分:0)

http://wordpress.org/extend/plugins/facebook-feed-grabber/获取最新的插件,并用新的

替换旧的链证书

答案 3 :(得分:0)

我检查了服务器配置,一切似乎都很好。但是,我在互联网上看到了一些其他帖子,用户通过编辑

中的以下行来解决问题
  

“base_facebook.php”

/ **    *卷曲的默认选项。    * /

public static $CURL_OPTS = array(
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_USERAGENT => 'facebook-php-3.2',
CURLOPT_SSL_VERIFYPEER => false, (ADDED THIS LINE)
);

我已经对它进行了测试,现在可以正常运行,并成功发布到Facebook页面。

干杯!

Mudassar Ali