4
在我的Facebook應用程序,有兩個文件的index.php和write.php使用這種基本代碼:Facebook應用程序,結果局部變化,並在Heroku
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之後被加載,一個ajax請求被髮送到write.php,它將查詢發送到Facebook並將結果寫入文本文件。 write.php使用相同的代碼來初始化Facebook對象。
在本地測試時可以正常工作,但在上傳到Heroku後會產生任意結果。 $ user_id爲空,如果($ user_id)或$ user_id的值爲0,則代碼無法超越,這會在稍後引發異常。
都是64位的環境? – datasage
我的本地機器是32位。它是如何產生影響的? – dilpreet023
我的原始問題必須與32位和64位環境中的整數長度有關。 Facebook API可能會將數字視爲字符串並避免這種限制。但是,看起來0的結果意味着用戶未登錄。用戶是否在登錄此代碼之前進行了身份驗證? – datasage