This is my code (App id and App secret are ok):
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');
The error I get is :
Fatal error: Interface 'Facebook\\HttpClients\\FacebookHttpable' not found in /home/superwed/public_html/HS/Facebook/HttpClients/FacebookCurlHttpClient.php on line 33
Which is very wierd because everywhere I checked everything is defined ok.
You need to require Facebook/HttpClients/FacebookHttpable.php
before Facebook/HttpClients/FacebookCurlHttpClient.php
because the latter depends on the former.
Edit: so this Q/A can be helpful to others, you will likely save many a headache by forgoing the require statements and using Composer which has its own autoloader function and is recommended in Facebook's PHP SDK guide . Alternatively, you could write your own autoloader.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.