PHP 5.1.6&使用upgrade.php的Facebook SDK仍无效

时间:2012-12-11 17:32:16

标签: php facebook

我为客户端编写了一个Facebook应用程序,它在我自己的运行PHP5.2的服务器上运行良好 在客户端服务器上安装时,我们发现它运行的是PHP5.1.6 所以没有json_de / encode lib。

客户端被他们的服务器供应商阻止升级到PHP5.2并且他们的网站(古老被砍死Joomla v1.0)的黑客和状态可能存在风险。

环顾四周,我发现了upgradephp(我使用的是v1.7)。 这提供了json_encode和amp;解码

我遇到的问题是代码处于永久循环中,试图获取Facebook用户ID:

$options = array("scope" => "user_birthday",
                 "redirect_uri" => "https://apps.facebook.com/".$nameSpace."/");
$loginUrl = $facebook->getLoginUrl($options);
// Get User ID
$user = $facebook->getUser();
if (!$user) {
    // Require user to authenticate the app
    echo '<script>top.location.href = "' . $loginUrl . '"</script>';
}

此代码在我自己的服务器上运行良好,而不是在客户端上运行。 所以我想知道从哪里开始调试以及如何进行调试? 任何建议都非常感谢!

1 个答案:

答案 0 :(得分:0)

答案只是Facebook App面板中的配置问题,这是由我完成工作的客户造成的。 他们错误地输入了他们自己的网站URL,省略了前面的“www”。 当应用程序运行时,它试图在没有www的情况下转到域名,并被重定向到www.domainname。不仅如此,而且https在重定向中被删除了http。 这导致了无限循环的重定向,因为facebook不允许非https请求。