Class' FacebookSession'找不到 - Facebook PHP SDK v4

时间:2014-12-23 19:26:37

标签: php facebook facebook-graph-api

伙计们,我正在尝试使用这个新的Facebook SDK for PHP,允许用户在Facebook上使用他们的个人资料登录我的网站

我的网站正在使用PHP框架CodeIgniter,但我无法加载FacebookSession类。

遵循此http://metah.ch/blog/2014/05/facebook-sdk-4-0-0-for-php-a-working-sample-to-get-started/和此https://developers.facebook.com/docs/php/gettingstarted/4.0.0教程

它一直在说致命错误:找不到类'FacebookSession',然后我试图将此代码移出Code Igniter而我无法使其工作

我开始尝试使用'require_once'来导入类,但它也失败了!这就是我在一个简单的php文件(2行)中的全部内容:

require_once('src/Facebook/FacebookSession.php');    
FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');

它找到了文件,大概是导入它(我把一些'echo'放在里面然后打印消息)但是在第二行失败了

我尝试使用SDK附带的autoload.php,但在这种情况下它会在脚本中间返回:

// does the class use the namespace prefix?
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) {
// no, move to the next registered autoloader
  return;
}

为什么我无法导入此文件?它可能与命名空间,别名等有关,对吧?你能帮助我吗?

2 个答案:

答案 0 :(得分:0)

您的教程包含以下内容:

use Facebook\FacebookSession;

这允许您使用FacebookSession::something()而不必写出完整的命名空间函数Facebook\FacebookSession::something()

添加use行,事情就行了。

答案 1 :(得分:0)

而不是这个

FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');

试试这个

Facebook\FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');

如果有效,则使用“Facebook”作为每个Facebook类的前缀。