PHP 致命错误:在第 36 行的/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php 中找不到类
<?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] 订阅.php[2012年4月16日 06:51:02][错误][客户端 172.20.2.144] 包括脸书课程[2012年4月16日 06:51:02][错误][客户端 172.20.2.144]创建的 FB 对象[2012年4月16日 06:51:02][错误][客户端 172.20.2.144]PHP 致命错误:在第 36 行的/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php 中找不到类[2012年4月16日 06:51:02][错误][客户端 172.20.2.144]PHP 堆栈跟踪:[2012年4月16日 06:51:02][错误][客户端 172.20.2.144]菲律宾比索 1.{主要}()/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php:0[2012年4月16日 06:51:06][错误][客户端 172.20.2.144]文件不存在:/var/www/server_releases/asrivastava/first-task/flash,
我遇到了同样的问题。以下是我做错了你可能做错的事情:
当我转到此页面时:https://github.com/facebook/facebook-php-sdk/tree/master/src下载脸书.php、base_facebook.php等。
我右键单击并执行"将链接另存为",却没有意识到我没有保存我认为正在保存的内容。
解决方案:单击这些链接,然后将代码复制并粘贴到facebook.php等中。
问题很可能是您在文件顶部的包含中使用了略微不正确的路径。
首先,将include_once
替换为require_once
- 如果找不到文件,这将给您一个错误,而不是无论如何都要继续。
假设这是错误,请仔细检查要包含的文件与您的订阅相关的位置.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"不同。