2016-09-21 13 views
0

私はPEARのServices_Facebook-0.2.14 SDKを使用しています、とFacebook.php次の行の最初に失敗した:ログメッセージとこのrequire_onceが失敗するのはなぜですか?

require_once 'Common.php'; 
require_once 'Services/Facebook/Common.php'; 
require_once 'Services/Facebook/Exception.php'; 

:私のFacebookのAPIクライアントで

[21-Sep-2016 13:41:46 UTC] PHP Fatal error: require_once(): Failed opening required 'Common.php' (include_path='/home/thehanfw/php/Services') in /home/thehanfw/php/Services/Facebook.php on line 23

、私は次の行を使用しますSDKにアクセスするには

ini_set("include_path", "/home/thehanfw/php/Services"); 
require_once "Facebook.php"; 

私はこのような明示的なインクルードパスを設定しました。befo再私のアプリはFacebook.phpを見つけるだろう。 Common.phpファイルが存在し、require_once 'Services/Facebook/Common.php';をコメントアウトしました。Servicesは既にインクルードディレクトリであるため、元のコードとまったく同じエラーが発生していました。

クライアントアプリケーションでHTTP ERR_TOO_MANY_REDIRECTSエラーが発生する前に、このエラーが約20回非常に迅速にログに記録されるという点にも興味があります。これはPHP 5.6.22の共有ホスト上にあります。

BREAKING:私が見つかりました。それおかしいというのが私のクライアントアプリケーションは、しかし、私のdevのマシン上で罰金働いていたが、その後、私は私だけ後で私のPC上のブラストPEARをインストールしていたが実現し、アプリが直接SDK不利に働きました。 Facebookからダウンロードした、php-graph-sdk-5.0.0という名前です。私は5.0.0のFBバージョンと0.2.14のPEARバージョンが分かれば知りませんが、私はホストからPEARのクラップを取り除き、FB SDKをインストールしただけでホスト上でも動作します。

+0

私はPHPが正しいフォルダの場所を指していないと思います。あなたのインクルードパスは大丈夫です(Facebook.phpがそこに存在するので、それは良いベースディレクトリになります)。ですから、 'require_once 'Services/Facebook/Common.php'から' Services/'の部分を削除しても、それはOKだと思います。 – Werner

+0

私はして、それがうまくいきました、そして、私は 'Common.php'で同じ問題を発見しました。それはPEARのコードであり、まったく私のものではありません。私はそれに慣れていませんので、私はそれらのことを知らせますが、私自身はそれを試して修正するつもりはありません。 – ProfK

答えて

0

PEARパッケージのコードファイルには、インクルードパスにルートパッケージディレクトリがある場合にのみ動作するrequire_onceステートメントがあります。 あなたの場合、インクルードパスに少なくとも/home/thehanfw/php/が含まれている必要があります。あなたは本当にあなたが何をしているか知っている限り

抽出PEARパッケージを手動is not recommendedは:

We removed this section, because, today, manually installing a package requires a deeper understanding of the way how packages are organized and what happens during the installation process. You should read the section about the package.xml in the Developers Guide (package.xml and package.xml 2.0), if you really want install a package without the PEAR installer.

あなたは明らかにしません、それは失敗しました。


PEARパッケージは、6年前の2010年に最後にリリースされました。公式のAPIを使う方が良いです。

関連する問題