2013-04-06 61 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/

相關問題