2012-07-07 60 views
-1

我有以下代碼。每次我加載這個頁面,如果沒有user_id信息需要3-5秒。我可以縮短加載時間嗎?

$user_id = $facebook->getUser(); 
if ($user_id) { 
echo "have user"; 
try { 
    $user_profile = $facebook->api('/me','GET'); 
} catch (FacebookApiException $e) { 
    error_log($e); 
    $user_id = null; 
} 
$_SESSION['facebook']= $_SESSION; 
$_SESSION['user_profile'] = $user_profile; 
} else { 
    echo "no user"; 
    $loginUrl = $facebook->getLoginUrl(
    array(
     'scope'   => 'publish_stream, user_likes' 
    ) 
    ); 
    echo "<script type='text/javascript'>top.location.href = '$loginUrl'; </script>"; 
} 

我也有以下代碼發佈圖像到用戶相冊。大約需要4-8秒才能迴應「成功」。任何方式使其更快?

//Session start 
$user_profile = $_SESSION['user_profile']; 
$user_id = $user_profile['id']; 

// Do the wall post. 
$msg_new = "hello"; 
$link = "XXXXYYYY"; 
$facebook->setFileUploadSupport(true); 
$imgURL = "user_img/".$user_id.".jpg"; 
$args = array('message' => $msg_new.$link); 
$args['image'] = '@' . realpath($imgURL); 

$facebook->api('/me/photos', 'post', $args); 
$result = "success"; 
echo $result; 

僅供參考:我在本地主機上測試這個。

回答

0

僅供參考:我在localhost上測試了這個。

然後請求由(相對)互聯網連接速度較慢可能被延遲,通過與您的機器在同一時間處理其他請求(音樂流媒體,P2P,...)等

競爭我不擔心這種情況,並且看到它在一個「真實的」Web服務器上運行後的表現如何,它可能與您的家用機器有更好的連接。如果它仍然很慢,那麼然後是時候進一步調查此事了。

+0

嗨CBroe,我已經把它放在真正的網絡服務器上。速度沒有太大的不同。 – Nick 2012-07-07 13:16:51

+0

我意識到問題不是由於$ loginURL,而是在$ facebook-> api上獲取用戶數據。我使用microtime來測量facebook api上的持續時間。持續時間從1秒到30秒。任何解決辦法,使其更快? FQL會使它更快嗎? – Nick 2012-07-08 06:22:11