2012-04-16 27 views
1

PHPの致命的なエラーでは見つかりません:クラスのFacebook" 36PHPの致命的なエラー:クラスのFacebook "

ライン上/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日午前6時51分02秒] [エラー] [クライアント172.20.2.144] Subscribe.php [月4月16日午前6時51分02秒2012] [エラー] [クライアント172.20.2.144]はFacebookのクラスを含む [2012年4月16日06:51:02] [エラー] [クライアント172.20.2.144] FBオブジェクトを作成 [Mon Apr 16 06:51:02 2012] [エラー] [クライアント172.20 .2.144] PHP致命的なエラー:クラス 'Facebook'が/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php on 36に見つからない [Mon Apr 16 06:51:02 2012] [エラー] [クライアント172.20.2.144] PHPスタックトレース: [2012年4月16日06:51:02] [エラー] [クライアント172.20.2.144] PHP 1. {main}()/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/subscribe.php: [2012年4月16日06:51:06] [エラー] [クライアント172.20.2.144]ファイルが存在しません:/ var/www/server_releases/asrivastava/first-task/flash、

+0

など、これらのリンクをクリックして、コピーしてfacebook.phpにコードを貼り付け、このファイルにはどのようなものに見えるん:./php-sdk/src/facebook.php?あなたの問題は、あなたのスクリプトが、このファイルで定義されている可能性が最も高いFacebookクラスを見つけることができないということです。また、実行を続行するためにはこのファイルが必要であるため、インクルードのまわりでtry/catchを削除してみてください。 – Jonatan

+1

最初にtry/catch-structを次の行だけに置き換えてください:require_once( './ php-sdk/src/facebook.php'); –

+0

@fulhack:https://developers.facebook.com/docs/reference/php/ とtry/catchブロックなしで試しましたが、まだ組み込まれていません。 – Sokio

答えて

4

同じ問題がありました。 ここであなたが行っているかもしれないことを私が間違ってやったことだ:、facebook.phpダウンロードする https://github.com/facebook/facebook-php-sdk/tree/master/src base_facebook.phpなど

は、私は右クリックし、「保存をした:

を、私はこのページに行ったとき私が貯蓄していると思っていたものを貯蓄していなかったことを認識していない。

SOLUTION:

+0

または* raw *リンクgithubが提供する - if gitでクローンを作成することはできません。 – hakre

0

問題は、ファイルの上部にあるインクルードにわずかに間違ったパスを使用している可能性が高いです。

最初に、include_oncerequire_onceに置き換えてください。ファイルを見つけられない場合は、これを無視してエラーになります。

それはエラーが含まれるファイルは、あなたのsubscribe.phpに関連して

「./php-sdk/src/facebook.php」である場合には、慎重にチェックする手段であると仮定すると、「カレントディレクトリから開始( "。")を探し、php-sdk/srcという名前のサブディレクトリでfacebook.phpを探します。 "だからあなたの場合には、それをロードしようとしている完全なパスは、あなたの「php-たぶん

「/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/public/php-sdk/src/facebook.php」でありますsdk "ディレクトリは実際には1レベルアップですか?その場合、あなたのパスは ".."ではなく ""始める必要があります。

また( "/mnt/releases/server/asrivastava/first-task/390f5294f2b74ffbbe729e1ce9773c39573973b8/php-sdk/src/facebook.php" を意味するであろう "../php-sdk/src/facebook.php")、これはLinux/Unixサーバと思われるので、パスはすべて大文字と小文字が区別されるため、ファイル名が "FaceBook.php"の場合は "facebook.php"と同じではありません。

関連する問題