Não foi encontrada autoridade de certificação inválida ou nenhuma, usando informações agrupadas

Estou começando com a API do Facebook. Eu baixei o código de exemplo do Facebook, configurado com o meu aplicativo e as chaves secretas.

 '...', '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'); ?> 

No localhost, o script funciona sem erros. Mas no host eu recebo o seguinte erro:

Não foi encontrada autoridade de certificação inválida ou nenhuma, usando informações agrupadas

o arquivo .crt foi carregado com sucesso

pode-se apontar meu erro? desde já, obrigado.

Defina a opção em CURL para apontar para o seu arquivo de certificado

Esta opção indicará à CURL que o arquivo fb_ca_chain_bundle.crt está na mesma pasta do seu script.

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

Na base_facebook.php, a linha 844 curl_exec falha e o erro é gerado. Em seguida, o script define:

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

e tenta novamente.

A segunda vez, tudo está bem, não há problema, só faz uma bagunça do seu log

Não use

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;

Ou um homem em meio poderá interceptar sua binding!

Desativar o recurso de segurança SSL

Embora eu não reconheça essa mensagem de erro exata, os problemas de SSL ao se comunicar com o Facebook através do SDK do PHP (e, portanto, Curl) são comuns. Você tentou fazer algo assim?

 Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; 

Isso desativará o recurso de segurança SSL “Verify Peer” para que ele pare de gerar a mensagem de erro.

obtenha o último plugin de http://wordpress.org/extend/plugins/facebook-feed-grabber/ e substitua o certificado de corrente antigo por um novo

Verifiquei a configuração do servidor e tudo parece bem. No entanto, eu vi algumas outras postagens na internet onde os usuários corrigiram o problema editando as seguintes linhas em

“base_facebook.php”

/ ** * Opções padrão para curl. * /

 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) ); 

Eu testei isso e isso agora funciona, e ele é posto com sucesso na página do Facebook.

Felicidades!

Mudassar Ali