![](/img/trans.png)
[英]How to configure Heroku's Facebook tutorial app to run locally with PHP?
[英]Facebook app results vary locally and on Heroku
在我的Facebook應用程序中,有兩個文件index.php和write.php使用這個基本代碼:
require_once('AppInfo.php');
if (substr(AppInfo::getUrl(), 0, 8) != 'https://' && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
header('Location: https://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit();
}
require_once('utils.php');
require_once('sdk/src/facebook.php');
$facebook = new Facebook(array(
'appId' => AppInfo::appID(),
'secret' => AppInfo::appSecret(),
));
$user_id = $facebook->getUser();
加載index.php后,會向write.php發送一個ajax請求,該請求會向Facebook發送查詢並將結果寫入文本文件。 write.php使用相同的代碼初始化Facebook對象。
這在本地測試時工作正常,但在上傳到Heroku后,它會產生任意結果。 $ user_id為null且代碼無法超出if($ user_id)或$ user_id的值為0,這會在以后引發異常。
Facebook SDK將登錄數據存儲在會話中。 由於您對write.php
AJAX請求沒有發送完整的facebook POST數據,因此facebook類假定沒有簽名請求,因此沒有數據。
我有時遇到相同的行為,問題始終是,會話未正確建立。 不幸的是,我不太確定,究竟是什么原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.