晚安。
嗯,我的问题有点奇怪而且很长。我正在开发一个应用程序,我创建了一个开发环境来测试Facebook SDK PHP(4.0)。我的环境是Xubuntu,PHP 5.9,Apache2.2。所有人都在全力研究其他libs。我第一次犯错误已经好几天了,我的项目交付已经晚了。
文件结构
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
我的代码
<?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>';
}
?>
错误
[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/
请注意,他说找不到的文件就在那里。他到底在找什么。。。
我试过使用自动加载和composer。同样的错误,只是它在FacebookSession.php或FacebookRequest.php上。
问题是,我哪儿也做不到工作。
不管怎样,谢谢你的回复。
我讨厌Facebook现在
更改includes的顺序将为您解决问题:
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' );
源