【发布时间】:2014-10-24 00:29:22
【问题描述】:
晚安,伙计们。
嗯,我的问题有点奇怪而且很长。我正在开发一个应用程序,并创建了一个开发环境来测试 Facebook SDK PHP (4.0)。我的环境是 Xubuntu,使用 PHP 5.9,Apache2.2。 全部在其他库上工作。距离我的第一个错误已经过去了几天,我交付项目的时间已经晚了。
文件结构
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/
请看看他说找不到的文件在那里。他到底在哪里找……
我尝试使用自动加载和作曲家。同样的错误,只是它在 FacebookSession.php 或 FacebookRequest.php 上。
问题是,我无法在任何地方工作。
无论如何,感谢您的回复。
我现在讨厌 Facebook
【问题讨论】:
-
你为什么要手动完成所有要求?使用自动装载机。或者至少使用 Facebook SDK 附带的自动加载器。问题是您在需要 FacebookRequest 之前不需要 FacebookStreamHttpClient
标签: php facebook facebook-graph-api sdk facebook-php-sdk