Issue
Good Night Folks.
Well, my problem is kind weird and long. I'm working on an app, and I create an development env to test the Facebook SDK PHP (4.0). My environment is Xubuntu, with PHP 5.9, Apache2.2. All full working on others libs. It's been days from my first error, and I'm getting late with the delivery of the project.
File Structure
pedro@pLp-Xubuntu:/var/www/html/sdk$ tree
.
├── composer.json
├── Facebook
│ ├── Entities
│ │ ├── AccessToken.php
│ │ └── SignedRequest.php
│ ├── FacebookAuthorizationException.php
│ ├── FacebookCanvasLoginHelper.php
│ ├── FacebookClientException.php
│ ├── FacebookJavaScriptLoginHelper.php
│ ├── FacebookOtherException.php
│ ├── FacebookPageTabHelper.php
│ ├── FacebookPermissionException.php
│ ├── FacebookRedirectLoginHelper.php
│ ├── FacebookRequestException.php
│ ├── FacebookRequest.php
│ ├── FacebookResponse.php
│ ├── FacebookSDKException.php
│ ├── FacebookServerException.php
│ ├── FacebookSession.php
│ ├── FacebookSignedRequestFromInputHelper.php
│ ├── FacebookThrottleException.php
│ ├── GraphAlbum.php
│ ├── GraphLocation.php
│ ├── GraphObject.php
│ ├── GraphPage.php
│ ├── GraphSessionInfo.php
│ ├── GraphUserPage.php
│ ├── GraphUser.php
│ └── HttpClients
│ ├── FacebookCurlHttpClient.php
│ ├── FacebookCurl.php
│ ├── FacebookGuzzleHttpClient.php
│ ├── FacebookHttpable.php
│ ├── FacebookStreamHttpClient.php
│ ├── FacebookStream.php
│ └── fb_ca_chain_bundle.crt
└── index.php
My Code
<?php
session_start();
// incluindo arquivos (coloquei todos pois segui um gist)
// onde mostrava as ultimas alterações nas estruturas de arquivos
// do SDK
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/FacebookOtherException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphSessionInfo.php' );
require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
require_once( 'Facebook/HttpClients/FacebookCurl.php' );
require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
require_once( 'Facebook/Entities/AccessToken.php' );
require_once( 'Facebook/Entities/SignedRequest.php' );
// declarando namespaces
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
use Facebook\HttpClients\FacebookHttpable;
use Facebook\HttpClients\FacebookCurl;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\Entities\AccessToken;
use Facebook\Entities\SignedRequest;
// Initialize application by Application ID and Secret
FacebookSession::setDefaultApplication('278431555695618 ','d182891f6e65d242f14c5ca199a0f48d');
// Login Healper with reditect URI
$helper = new FacebookRedirectLoginHelper( 'http://localhost/sdk' );
try {
$session = $helper->getSessionFromRedirect();
}
catch( FacebookRequestException $ex ) {
// Exception
}
catch( Exception $ex ) {
// When validation fails or other local issues
}
// Checking Session
if(isset($session))
{
// Request for user data
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
// Responce
$data = $response->getGraphObject();
// Print data
echo print_r( $data, 1 );
}
else
{
// Login URL if session not found
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
?>
The Error
[Thu Oct 23 22:10:07.989261 2014] [:error] [pid 2693] [client 127.0.0.1:54885] PHP Fatal error: Class 'Facebook\\HttpClients\\FacebookStreamHttpClient' not found in /var/www/html/sdk/Facebook/FacebookRequest.php on line 166, referer: http://localhost/sdk/
[Thu Oct 23 22:13:40.809312 2014] [:error] [pid 1356] [client 127.0.0.1:54922] PHP Fatal error: Class 'Facebook\\HttpClients\\FacebookStreamHttpClient' not found in /var/www/html/sdk/Facebook/FacebookRequest.php on line 166, referer: http://localhost/sdk/
Please, see that the File he's say that don't find, is there. Exactly where is his looking for...
I tried using autoload, and composer. Same error, only that it was on FacebookSession.php or the FacebookRequest.php.
The problem is, that I can't make work anywhere.
Anyway, thanks for any reply.
I hate Facebook now
Solution
Changing the order of the includes will fix the issue for you:
require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
require_once( 'Facebook/HttpClients/FacebookCurl.php' );
require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
require_once( 'Facebook/Entities/AccessToken.php' );
require_once( 'Facebook/Entities/SignedRequest.php' );
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/FacebookOtherException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphSessionInfo.php' );
Answered By - Niraj Shah
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.