facebook PHP SDK无法在不同的PHP版本中运行

时间:2015-08-04 16:10:40

标签: php facebook-sdk-4.0

我有一个示例代码来测试我的网站是否可以从facebook接收数据。我在运行PHP 5.4的webmatrix服务器上本地运行此代码没有任何问题。我还在运行WAMP服务器的机器上运行该代码,再次使用PHP 5.5没有任何问题。但是当我在使用ubuntu 12.04和PHP 5.5.26(根据phpinfo()函数)的VM上运行它时,或者在带有PHP 5.9的coding.io VM中运行它时,它显示没有输出。当然我已经检查过所有地方保持与facebook sdk文件夹相同的路径,这是好的。任何帮助将不胜感激这个奇怪的问题。

这是我的测试代码:

<?php
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookSession.php');
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookRequest.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookResponse.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookSDKException.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookRequestException.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookRedirectLoginHelper.php');
require_once( '/facebook-php-sdk-v4/src/Facebook/FacebookAuthorizationException.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/GraphObject.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/GraphUser.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/GraphSessionInfo.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/Entities/AccessToken.php');
require_once( '/facebook-php-sdk-v4/src/Facebook/HttpClients/FacebookCurl.php' );
require_once( '/facebook-php-sdk-v4/src/Facebook/HttpClients/FacebookHttpable.php');
require_once( '/facebook-php-sdk-v4/src/Facebook/HttpClients/FacebookCurlHttpClient.php');

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookCanvasLoginHelper;
use Facebook\FacebookRedirectLoginHelper;


$facebook = FacebookSession::setDefaultApplication('xxxxxxxxxxxxx','xxxxxxxxxxxxxx');
FacebookSession::enableAppSecretProof(false);
$session = new FacebookSession('xxxxxxxxxxxxxxxxxxxxxx');

//from user
$myurl = (isset($_POST['url']) ? $_POST['url'] : null); //not of any use here now
$objRequest = '/461598630586060';


try {
  $response = (new FacebookRequest($session, 'GET',$objRequest))->execute();
  $response='success';

  } catch (FacebookRequestException $ex) {

  $response='fail';
} catch (\Exception $ex) {

  $response='fail';
}

echo $response;
?>

1 个答案:

答案 0 :(得分:0)

只需用require_once替换所有require __DIR__ . '/facebook-php-sdk-v4/autoload.php';语句即可解决问题,现在一切都像魅力一样!