繁体   English   中英

Facebook PHP SDK仅适用于本地主机

[英]Facebook PHP SDK works only on localhost

我有一个直到最近才与PHP Facebook SDK良好交互的移动应用程序。 现在,仅当我将其指向本地主机开发服务器时,它才会登录。 坦白说,我完全陷入了困境。 当然,我已经检查了Facebook开发人员中心内的站点URL。 一切都指向实时服务器。 但是只有开发服务器可以登录。有什么建议吗?

These domains work:
http://localhost:8888
http://testsite2:8888

These domains will not work:
http://*.com
https://*.com

根据要求,这是我的Facebook代码:

$config = array();
$config['appId'] = Configure::read('FB_APP_ID');
$config['secret'] = Configure::read('FB_APP_SECRET');
$config['fileUpload'] = false; // optional
$facebook = new Facebook($config);      
$facebook->setAccessToken($this->data['User']['fbtoken']);
$receivedfbid = $facebook->getUser();

这可以在我的开发服务器上正常工作,并且直到最近一直可以在实时服务器上正常工作。 重申一下,facebook开发人员中心配置为向实时服务器发送“站点url”。 所以那不是问题。

在此处输入图片说明

我在webhost上的Web应用程序遇到了同样的问题,但在localhost上运行良好。

就我而言,它与cURL和ssl有关。

快速查看是否是SSL问题的方法是告诉fb php sdk接受任何SSL证书,为此,请将其添加到base_facebook.php文件中:

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

将其$result = curl_exec($ch);

我知道您说您在非SSL连接上进行了测试,但是您的base_facebook.php文件仍在寻找ssl证书。
有关更多信息,请参见: http : //unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

更改您在developer.facebook.com中的应用程序设置,希望您配置为本地主机

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM