首先,我的代码是这样的,没有使用命名空间,但根据文档https://developers.facebook.com/docs/php/gettingstarted
session_start();
define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__ . '/Facebook/');
require_once __DIR__ . '/Facebook/autoload.php';
$fb= new Facebook/Facebook([
'app_id' => '******',
'app_secret' => '********************',
'default_graph_version' =>'v2.5'
]);
$fb->getRedirectLoginHelper();
//$permissions = ['email','id', 'first_name', 'last_name'];
$loginUrl = $fb->getLoginUrl('index.php');
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
但它引发了以下错误
致命错误:Class&#39; Facebook&#39;找不到 第9行的E:\ wamp \ www \ sugumar \ facebooklogin \ index.php调用堆栈
在线搜索,发现以下链接 'Class 'Facebook\Facebook' not found" Facebook SDK error
其中告诉我包括sdk文件和使用命名空间,因为我已经包含了sdk文件,我把它放到Facebook \ Facebook;在顶部
所以我的代码变成了
use Facebook\Facebook;
session_start();
define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__ . '/Facebook/');
require_once __DIR__ . '/Facebook/autoload.php';
$fb= new Facebook/Facebook([
'app_id' => '********',
'app_secret' => '********************',
'default_graph_version' =>'v2.5'
]);
$fb->getRedirectLoginHelper();
//$permissions = ['email','id', 'first_name', 'last_name'];
$loginUrl = $fb->getLoginUrl('index.php');
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
但现在它抛出了一个不同的错误,我的appid和秘密是正确的......我只是想从版本4更改为版本5.
错误是
(!)致命错误:未捕获的异常 &#39;实\例外\ FacebookSDKException&#39;消息&#39;必填 &#34; APP_ID&#34;密钥未在配置中提供,无法找到回退 环境变量&#34; FACEBOOK_APP_ID&#34;&#39;在 第133行的E:\ wamp \ www \ sugumar \ facebooklogin \ Facebook \ Facebook.php
(!)Facebook \ Exceptions \ FacebookSDKException:必需&#34; app_id&#34;键 未在配置中提供,无法找到后备环境 变量&#34; FACEBOOK_APP_ID&#34;在 第133行的E:\ wamp \ www \ sugumar \ facebooklogin \ Facebook \ Facebook.php