Php Facebook应用程序“如果空会话”不工作,我如何修复它?

Php Facebook应用程序“如果空会话”不工作,我如何修复它?,php,facebook,try-catch,fbml,Php,Facebook,Try Catch,Fbml,这是我希望在facebook上创建一个非常简单的应用程序来打招呼的代码,但是我遇到了一个错误 <?php require "facebook.php"; // create application instance $facebook = new Facebook(array( 'appId' => '********************************', 'secret' => '********************************', 'coo

这是我希望在facebook上创建一个非常简单的应用程序来打招呼的代码,但是我遇到了一个错误

<?php

require "facebook.php";

// create application instance
$facebook = new Facebook(array(
'appId' => '********************************',
'secret' => '********************************',
'cookie' => true,
));

$session = $facebook->getSession();

if (!empty($session)) {
        try {
            $uid = $facebook->getUser();
            $user = $facebook->api('/me');
        } catch (exception $e) {}

    if (!empty($user))
    {
        if($_GET['installed']=='1') {
            header("Location: http://apps.facebook.com/gamerimg/");
        }

        echo "Hello ".$user['first_name'];
    } else {
        die("An error occoured!");
    }
} else {

    $url = $facebook->getLoginUrl();
    echo "<a href='".$url."'>Click here</a> to add the GamerImg Facebook application.";

}

?>
我是fbml的新手,所以我不知道该怎么办!我怎么能修好它


这可能与这句话有关:$user=$facebook->api'/me'

很可能你的Facebook呼叫引发了异常,但你捕获了异常并继续。通常,您会将die调用放在catch块中,而if块放在try块中


如果您将die调用放在try块中,我会将其更改为die,直到发生错误$e->getMessage;因此,您可以看到错误消息。

您可以显示异常吗?捕获异常$e{print\r$e;}错误。。。是的。。那就是:libcurl中不支持或禁用https协议,这看起来更容易理解!这意味着什么…?您系统上的libcurl库不是使用HTTPS支持编译的。联系您的系统管理员,让他们使用HTTPS支持的libcurl重新编译。因为我使用免费主机。。。有什么办法吗?找个更好的主持人?你也许可以破解Facebook库,使其不使用HTTPS,但我不知道Facebook是否会支持这一点。