我开始使用facebook API了.
我从facebook下载了示例代码,配置了我的appID和密钥.
我从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上,脚本工作没有错误.但在主机上我收到以下错误:
Invalid or no certificate authority found,using bundled information
有人可能会指出我的错误吗?
提前致谢.
将CURL中的选项设置为指向证书文件
原文链接:https://www.f2er.com/php/139024.html此选项将告诉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;
或者中间人可以拦截你的电话!