2012-07-07 59 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