我有一个移动应用程序,直到最近才与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”。所以这不是问题。
答案 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配置