Facebook PHP SDK v4$session登录后为空

Facebook PHP SDK v4$session登录后为空,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,这是我的工作流程。用户转到index.php并被重定向到Facebook登录。登录后,它们被重定向到post.php,我在那里验证了$session。我可以在本地工作,但当我将其上传到服务器时,$session变量返回NULL 这是我在post.php中的代码 session_start(); require_once("../assets/resources/constants.php"); require_once("autoload.php"); use Facebook\Faceb

这是我的工作流程。用户转到index.php并被重定向到Facebook登录。登录后,它们被重定向到post.php,我在那里验证了
$session
。我可以在本地工作,但当我将其上传到服务器时,
$session
变量返回
NULL

这是我在
post.php
中的代码

session_start();

require_once("../assets/resources/constants.php");
require_once("autoload.php");


use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;

// init app with app id (APPID) and secret (SECRET)
FacebookSession::setDefaultApplication(FACEBOOK_APP_ID,FACEBOOK_APP_SECRET);

// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper(BASE_URL."/facebook/post.php");

try {
  $session = $helper->getSessionFromRedirect();
  if (isset($session)) $_SESSION['token'] = $session->getToken();
} catch( FacebookRequestException $ex ) {
  // When Facebook returns an error
} catch( Exception $ex ) {
    unset($session);
    echo $ex->getMessage();
}

var_dump($session);
exit();
我做了一些挖掘,并能够得到这个错误抛出


object(Facebook\FacebookAuthorizationException)#10(10){[“状态码”:“Facebook\FacebookRequestException”:private]=>int(400)[“rawResponse”:“Facebook\FacebookRequestException”:private]=>string(190){“错误”:{“消息”:”验证验证代码时出错。请确保您的重定向uri与您在OAuth对话框请求中使用的uri相同,“键入”:“OAuthException”,“code”:100}}”[“responseData”:“Facebook\FacebookRequestException”:private]=>array(1){[“Error”]=>array(3){[“message”]=>string(131)验证验证代码时出错。请确保您的重定向\u uri与您在OAuth对话框请求“[“类型”]=>string(14)“OAutheException”[“代码”]=>int(100)}}[“消息”:protected]=>string(131)”中使用的相同验证验证代码时出错。请确保您的重定向uri与您在OAuth对话框请求“[”字符串“:”异常“:private]=>string(0)”“[”代码“:protected]=>int(100)[”文件“:protected]=>string(71)”/var/www/html/facebook/assets/sdk/facebook/FacebookRequestException.php“[”行:protected]=>int(104)[”trace“:“Exception”:private]=>array(3){[0]=>array(6){[“file”]=>string(62)”/var/www/html/facebook/assets/sdk/facebook/facebook/FacebookRequest.php“[“line”=>int(268)[“function”]=>string(6)”创建“[“class”=>string(33)”facebook\FacebookRequestException”[“type”=>string(2)”::“[“args”=>array(3){[0]=>string(190)”{验证验证代码时出错。请确保您的重定向uri与您在OAuth对话框请求中使用的uri相同,“键入”:“OAutheException”,“code”:100}}”[1]=>object(stdClass)#9(3){[“message”]=>string(131)验证验证代码时出错。请确保您的重定向uri与您在OAuth对话框请求中使用的uri相同“[“type”]=>string(14)“OAuthException”[“code”]=>int(100)}[2]=>int(400)}[1]=>array(6){[“file”]=>string(74)”/var/www/html/facebook/assets/sdk/facebook/facebook/facebookrirectloginhelper.php“[“line”=>int(175)[“函数”]=>string(7)“执行”[“类”]=>string(24)“Facebook\FacebookRequest”[“类型”]=>string(2)”->“[“参数”]=>array(0){}[2]=>array(6){[“文件”]=>string(31)”/var/www/html/Facebook/post.php”[“行”=>int(32)[“函数”=>string(22)“getSessionFromRedirect”[“类”=>string(36)”Facebook\FaceBookRedirectLoginher”[“类型“]=>string(2)”->“[“args”]=>array(0){}}[“previous”:“Exception”:private]=>NULL}

因此此问题是由我的重定向uri中的额外
/
引起的。显然,它需要与Facebook上的完全匹配。删除多余的斜杠修复了问题。

您的生产服务器上安装了什么版本的php?@Andariel生产服务器有5.4.39