2013-04-06 34 views
0

我有一个移动应用程序,直到最近与PHP的Facebook SDK罚款。现在只有当它指向我的localhost开发服务器时才会登录。坦率地说,我完全被难住了。当然,我已经在Facebook开发人员中心查看了网站网址。一切都指向现场服务器。但只有开发服务器才能登录。有什么建议吗?Facebook的PHP SDK只适用于本地主机

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

+1

显示你的Facebook的代码 – sharafjaffri 2013-04-06 08:19:38

+1

你有你的生活服务器[SSL证书(https://developers.facebook.com/blog/post/497/)? – Antony 2013-04-06 08:20:08

+0

是的我在活服务器上有一个ssl证书。你是指服务器的SSL证书?或者位于facebook目录中的Facebook SSL密钥?我有两个,但我也测试过非SSL连接,它不起作用。 – Dobler 2013-04-06 16:44:38

回答

-1

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

+0

正如我已经说过的。我已经在Facebook开发人员中心查看了网站的网址设置。他们指出了正确的网址 – Dobler 2013-04-06 16:42:19

0

我有同样的问题与虚拟主机提供商我的web应用程序,但它在本地主机上运行良好。

在我的情况下,它与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/

相关问题