Facebook PHP SDK仅适用于localhost

时间:2013-04-06 08:13:44

标签: php facebook cakephp-1.2

我有一个移动应用程序,直到最近才与PHP Facebook SDK接口。现在它只会在我指向我的localhost开发服务器时才会登录。坦率地说,我完全难过了。当然,我已经检查了Facebook开发人员中心内的网站网址。一切都指向实时服务器。但只有开发服务器才会登录。有什么建议吗?

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”。所以这不是问题。

enter image description here

2 个答案:

答案 0 :(得分:0)

我在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/

答案 1 :(得分:-1)

developer.facebook.com中更改您的应用设置我希望您为localhost配置