1

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";
}


?>

现在,每当我点击此 URL 时,都会收到上面提到的错误。请建议我通过它的方法。

错误日志:

[2012 年 4 月 16 日星期一 06:51:02] [错误] [客户端 172.20.2.144] Subscribe.php [2012 年 4 月 16 日星期一 06:51:02] [错误] [客户端 172.20.2.144] 包括 facebook 类 [4 月 16 日星期一06:51:02 2012] [错误] [客户端 172.20.2.144] 创建 FB 对象 [2012 年 4 月 16 日星期一 06:51:02] [错误] [客户端 172.20.2.144] PHP 致命错误:在中找不到类“Facebook” /mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php 在第 36 行 [Mon Apr 16 06:51:02 2012] [error] [client 172.20.2.144] PHP Stack trace: [Mon Apr 16 06:51:02 2012] [错误] [客户端 172.20.2.144] PHP 1. {main}() /mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php:0 [4 月星期一16 06:51:06 2012] [错误] [客户端 172.20.2.144] 文件不存在:/var/www/server_releases/asrivastava/first-task/flash,

4

2 回答 2

4

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

当我去这个页面时: https ://github.com/facebook/facebook-php-sdk/tree/master/src 下载 facebook.php、base_facebook.php 等。

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

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

于 2012-10-02T16:27:16.080 回答
0

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

首先,替换include_oncerequire_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”不同。

于 2012-07-18T22:36:14.083 回答