Facebook登录不能正常使用PHP API

Nir*_*ana 0 php api facebook

这是我的代码(App id和App secret都可以):

session_start();

require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/HttpClients/FacebookCurl.php' );
require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
require_once( 'Facebook/HttpClients/FacebookHttpable.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;
use Facebook\FacebookHttpable;
use Facebook\FacebookCurlHttpClient;
use Facebook\FacebookCurl;

FacebookSession::setDefaultApplication('App_id', 'App_secret');
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

致命错误:第33行的/home/superwed/public_html/HS/Facebook/HttpClients/FacebookCurlHttpClient.php中找不到界面'Facebook\HttpClients\FacebookHttpable'

这是非常奇怪的,因为我检查过的所有地方都定义好了.

moo*_*wer 7

你需要Facebook/HttpClients/FacebookHttpable.php之前要求,Facebook/HttpClients/FacebookCurlHttpClient.php因为后者取决于前者.

编辑:所以这个Q/A可以对其他人有所帮助,你可能会通过放弃require语句和使用具有自己的自动加载器功能的Composer来节省很多麻烦,并推荐在Facebook的PHP SDK指南中.或者,您可以编写自己的自动加载器.