【问题标题】:Facebook php sdk getuser() not working on the web only on my localhostFacebook php sdk getuser() 仅在我的本地主机上无法在网络上工作
【发布时间】:2013-07-16 09:53:19
【问题描述】:

所以我用 php facebook sdk 做了一个网络应用程序并在我的本地主机上运行它...... 一切似乎都很好,GetUser 函数让我获得了用户 ID... 然后当我将网络上传到主机服务器时,GetUser() 总是返回 0... 有人知道吗?

这是我的代码,没什么特别的:

$homeurl = 'http://postmaster.net78.net/MainMenu.php';  //return to home
$fbPermissions = 'user_events,friends_events,read_stream,publish_stream,offline_access';       
$facebook = new Facebook(array(
  'appId'  => '****', 
  'secret' => '***', 
));
    $user = $facebook->getUser();
    echo $user;
if ($user) 
{
  .......
}
else 
{
    
  $_fb['loginurl'] = $facebook->getLoginUrl(array('redirect_uri'=>$homeurl,'scope' => $fbPermissions));
  $_fb['authed'] = false;
  echo '<center><br><br><br><br><br><br><br>For start working with <img src="images/logoBlack.gif" height = "8%" width="15%">  <br>you must connect to your facebook account<br>';
  echo '<a href="'.$_fb['loginurl'].'"><img src="images/loginwithfacebook.jpg"></a>';
}

和我的开发者信息:

感谢帮助

【问题讨论】:

    标签: php facebook facebook-graph-api sdk facebook-php-sdk


    【解决方案1】:

    我遇到了同样的问题。就我而言,它与 cURL 和 SSL 证书有关。

    我仍在试图弄清楚为什么它在我的本地主机上没有问题,我认为这可能是我的 Webhost 上的 cURL 或 SSL 设置。

    与此同时,一个快速的解决方法是告诉 cURL 接受任何 SSL 证书。

    将此添加到您的 base_facebook.php 文件中:

    $opts[CURLOPT_SSL_VERIFYPEER] = false;
        curl_setopt_array($ch, $opts);
    

    放在$result = curl_exec($ch);之前

    从安全的角度来看,它可能不是最好的解决方案,但如果它适合您,它应该为您提供一个寻找永久修复的起点。

    查看此页面了解更多信息:http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      相关资源
      最近更新 更多