PHP致命错误:Class' Facebook'找不到

时间:2012-04-16 11:06:01

标签: php facebook facebook-graph-api

PHP致命错误:第36行的/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php中找不到“Facebook”类

<?php
try{
    include_once "./php-sdk/src/facebook.php";
}
catch(Exception $o){
    echo '<pre>';
    print_r($o);
    echo '</pre>';
}

error_log("Subscribe.php");
error_log("included facebook classes");
define ("FB_APPID" ,"APPID") ;
define ("FB_SECRET", "KEY");
define ("VERIFY_TOKEN" ,"myFirstFB");

$access_token = "MyAccessToken";
$user = array(
        "first_name",
        "last_name"
    ) ;
$param = array('access_token' => $access_token,
        'object' => 'user',
        'fields' => 'name, feed, likes',
     //   'callback_url' => 'http://apps.facebook.com./handleCallBack.php',
        'callback_url' => 'SomeUrl',
        'verify_token' => VERIFY_TOKEN
);
$config = array ('appId' => FB_APPID, 'secret' => FB_SECRET);
    error_log("Created FB object");
$fb = new Facebook($config);
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
error_log("made curl call");
try {

$subs = $fb->api('/'.APP_ID.'/subscriptions', 'POST', $param);
var_dump($subs);
} catch (FacebookApiException $e) {
    echo $e->getCode()." ".$e->getType()." ".$e->getMessage()." ".$e->getFile()." ".$e-                  >getLine()."\n";
}


?>

现在每当我点击此网址时,我都会收到上面提到的错误。 请帮我个忙。

错误日志:

[Mon Apr 16 06:51:02 2012] [错误] [client 172.20.2.144] Subscribe.php [Mon Apr 16 06:51:02 2012] [错误] [客户端172.20.2.144]包括facebook课程 [Mon Apr 16 06:51:02 2012] [错误] [client 172.20.2.144]创建了FB对象 [Mon Apr 16 06:51:02 2012] [错误] [client 172.20.2.144] PHP致命错误:在/ mnt / releases / server / asrivastava / first-task / 390f5294f2b74ffbbe729e1ce9773c39573973b8 / public / subscribe中找不到类'Facebook'。第36行的PHP [Mon Apr 16 06:51:02 2012] [错误] [客户端172.20.2.144] PHP堆栈跟踪: [Mon Apr 16 06:51:02 2012] [error] [client 172.20.2.144] PHP 1. {main}()/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php:0 [Mon Apr 16 06:51:06 2012] [错误] [客户端172.20.2.144]文件不存在:/ var / www / server_releases / asrivastava / first-task / flash,

2 个答案:

答案 0 :(得分:4)

我有同样的问题。 这就是我做错了你可能做过的事情:

当我访问此页面时: https://github.com/facebook/facebook-php-sdk/tree/master/src 下载facebook.php,base_facebook.php等

我右键单击并“保存链接为”没有意识到我没有保存我认为我正在保存的内容。

解决方案:点击这些链接然后将代码复制并粘贴到facebook.php等

答案 1 :(得分:0)

问题很可能是您在文件顶部的包含中使用了稍微不正确的路径。

首先,将include_once替换为require_once - 如果无法找到该文件,则会出错,而不是继续执行。

假设这是错误,请仔细检查要包含的文件与subscribe.php相关的位置

“./ php-sdk / src / facebook.php”表示“从当前目录(”。“)开始,查看名为php-sdk / src的子目录中的facebook.php”。所以在你的情况下,它试图加载的完整路径是“/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/php-sdk/src/facebook.php”

也许你的“php-sdk”目录实际上是一级的?在这种情况下,你希望你的路径开始“..”而不是“。” (“../php-sdk/src/facebook.php”的意思是“/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/php-sdk/src/facebook.php”)

此外,由于这似乎是Linux / Unix服务器,路径都将区分大小写,因此如果您的文件名为“FaceBook.php”,则与“facebook.php”不同。