Facebook connect(Facebook php sdk)登录按钮在call-back.php上崩溃

Facebook connect(Facebook php sdk)登录按钮在call-back.php上崩溃,php,heroku,facebook-php-sdk,facebook-login,cloud9-ide,Php,Heroku,Facebook Php Sdk,Facebook Login,Cloud9 Ide,我有一个PHP网站,它有一个facebook连接(facebook PHP sdk),在我的索引页面上有一个facebook登录按钮。登录按钮在我的cloud9开发阶段(桌面/移动)显示并运行。然后我将应用程序推到Heroku,出现了登录按钮,但一旦它们点击我的login-callback.php,就会崩溃 经过一点研究,我发现我需要推我的:FACEBOOK\u APP\u ID=xxxxxxxxxxxxx\ FACEBOOK_SECRET=xxxxxxxxxxxxx 一旦我添加了那些配置变量,

我有一个PHP网站,它有一个facebook连接(facebook PHP sdk),在我的索引页面上有一个facebook登录按钮。登录按钮在我的cloud9开发阶段(桌面/移动)显示并运行。然后我将应用程序推到Heroku,出现了登录按钮,但一旦它们点击我的login-callback.php,就会崩溃

经过一点研究,我发现我需要推我的:FACEBOOK\u APP\u ID=xxxxxxxxxxxxx\ FACEBOOK_SECRET=xxxxxxxxxxxxx

一旦我添加了那些配置变量,我的登录按钮在移动浏览器上就消失了,桌面浏览器仍然在login-callback.php页面崩溃。我已经做了几天的挖掘工作,似乎找不到任何关于这方面的信息

我的网站是或

login-callback.php

<?php
session_start();
require_once __DIR__ . '/src/Facebook/autoload.php';

$fb = new Facebook\Facebook([
  'app_id' => 'xxxxxxxxxxxxxxx',
  'app_secret' => 'xxxxxxxxxxxxxxx',
  'default_graph_version' => 'v2.5'
]);

$helper = $fb->getJavaScriptHelper();

try {
  $accessToken = $helper->getAccessToken();
  } catch(Facebook\Exceptions\FacebookResponseException $e) {
    // When Graph returns an error
    echo 'Graph returned an error: ' . $e->getMessage();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
    // When validation fails or other local issues
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
}

if (isset($accessToken)) {
   $fb->setDefaultAccessToken($accessToken);

  try {

    $requestProfile = $fb->get("/me?fields=name,email");
    $profile = $requestProfile->getGraphNode()->asArray();
  } catch(Facebook\Exceptions\FacebookResponseException $e) {
    // When Graph returns an error
    echo 'Graph returned an error: ' . $e->getMessage();
  } catch(Facebook\Exceptions\FacebookSDKException $e) {
    // When validation fails or other local issues
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
  }

  $_SESSION['name'] = $profile['name'];

  setcookie('name', $profile['name'], time() + (3600 *2), "/");
  header('location: ../');
  exit;
} else {
    echo "Unauthorized access!!!";
    exit;
}
index.php的相关部分

<?php 
      session_start();

      require_once('c9_config.php');

 ?>
 <!DOCTYPE html>
         <html>
              <head>
                <meta charset="utf-8">
                <title> Nola Rec Connect | New Orleans Recreational HUB</title>
                <link rel="stylesheet" type="text/css" href="css/normalize.css">
                <link href='https://fonts.googleapis.com/css?family=Alegreya+SC:700' rel='stylesheet' type='text/css'>
                <link href='https://fonts.googleapis.com/css?family=Crimson+Text' rel='stylesheet' type='text/css'>
                <link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300' rel='stylesheet' type='text/css'>
                <link rel="stylesheet" type="text/css" href="css/main.css">
                <link rel="stylesheet" type="text/css" href="css/Responsive.css">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                 <script type="text/javascript" src="./fbapp/fb.js"></script>
              </head>
              <body>

                <header>
                    <a href="index.php" id="logo">
                    <h1>Nola Rec Connect </h1>
                    </a>
                    <nav>
                    <ul>
                    <a href="nav/calendar/calendar.php" >Calendar</a>
                    <a href="nav/about/about.php">About</a>
                    <a href="nav/contact/contact.php">Contact</a>
                    <a href="nav/map/map.php">Maps</a>
                    </ul>
                    </nav>
                </header>

                <h1><?php if (isset($_COOKIE['name'])) {echo $_COOKIE['name']; } ?></h1>
                <?php if (isset($_COOKIE['name'])) { } else { ?><div class="fb-login-button" data-scope="public_profile,email" onlogin="checkLoginState();"></div><?php } ?>

诺拉Rec Connect |新奥尔良娱乐中心

任何帮助都将不胜感激。

看起来我确实需要在Heroku中获得OAuth.io插件。一旦我设置了OAuth.io,我就输入了我的Facebook公钥和密钥,并在“常规”选项卡中添加了我的域。然后在“集成API”选项卡中测试了连接。无法100%确定这是否修复了它,但它现在可以工作了。

看起来我确实需要在Heroku中获得OAuth.io加载项。一旦我设置了OAuth.io,我就输入了我的Facebook公钥和密钥,并在“常规”选项卡中添加了我的域。然后在“集成API”选项卡中测试了连接。不是100%确定这是否修复了它,但它现在可以工作了

<?php 
      session_start();

      require_once('c9_config.php');

 ?>
 <!DOCTYPE html>
         <html>
              <head>
                <meta charset="utf-8">
                <title> Nola Rec Connect | New Orleans Recreational HUB</title>
                <link rel="stylesheet" type="text/css" href="css/normalize.css">
                <link href='https://fonts.googleapis.com/css?family=Alegreya+SC:700' rel='stylesheet' type='text/css'>
                <link href='https://fonts.googleapis.com/css?family=Crimson+Text' rel='stylesheet' type='text/css'>
                <link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300' rel='stylesheet' type='text/css'>
                <link rel="stylesheet" type="text/css" href="css/main.css">
                <link rel="stylesheet" type="text/css" href="css/Responsive.css">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                 <script type="text/javascript" src="./fbapp/fb.js"></script>
              </head>
              <body>

                <header>
                    <a href="index.php" id="logo">
                    <h1>Nola Rec Connect </h1>
                    </a>
                    <nav>
                    <ul>
                    <a href="nav/calendar/calendar.php" >Calendar</a>
                    <a href="nav/about/about.php">About</a>
                    <a href="nav/contact/contact.php">Contact</a>
                    <a href="nav/map/map.php">Maps</a>
                    </ul>
                    </nav>
                </header>

                <h1><?php if (isset($_COOKIE['name'])) {echo $_COOKIE['name']; } ?></h1>
                <?php if (isset($_COOKIE['name'])) { } else { ?><div class="fb-login-button" data-scope="public_profile,email" onlogin="checkLoginState();"></div><?php } ?>