我正在为Facebook开发一个应用程序,它存储在我的服务器上,并包含在Facebook的iFrame中。我有以下代码初始化Facebook应用程序并检查用户是否已登录/授权。 附: APP_ID和APP_SECRET仅显示在此帖子中。在我的服务器上,它们具有实际值。
<?php
session_start();
require_once('Facebook/FacebookSession.php');
require_once('Facebook/FacebookRequest.php');
require_once('Facebook/GraphUser.php');
require_once('Facebook/FacebookRequestException.php');
require_once('Facebook/FacebookCanvasLoginHelper.php');
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookCanvasLoginHelper;
//Initialize the app
FacebookSession::setDefaultApplication('APP_ID', 'APP_SECRET');
//Check if user is logged in and authorized
$helper = new FacebookCanvasLoginHelper();
try{
$session = $helper->getSession();
echo "Setting...";
}catch(FacebookRequestException $ex){
echo "Facebook error";
}catch(\Exception $ex){
echo "Local issue";
}
//If logged in
if($session){
echo "Logged in";
}
echo "End...";
?>
当我在Facebook上加载页面时,它只显示服务器在浏览器控制台中返回500服务器错误,并且页面根本不显示任何内容。
我正在使用FacebookCanvasLoginHelper.php,因为它位于Facebook的iFrame内部,这就是我获得用户会话的方式。 我正在运行PHP v5.4.23,理论上它应该支持我的新代码。
什么可能导致此错误?它可以是我的主机,还是代码有问题?
由于