質問

さて、かなり多くのスレッドを見つけました イセ500, 、しかし、どの解決策も私にとってはうまくいきませんでした。

私はクライアントがいくつかのオーディオトラックを提示するための Facebook アプリを開発しました。そしてもちろん、app_data パラメーターごとにいくつかのパラメーターをアプリケーションに渡したいと考えています。そこで私は、 フェイスブックSDK3.1.1。 Facebookに正しく​​接続するためにあらゆることを行いました。

私のローカルの xampp ではすべてが正常に動作し、会社の Web サーバーも問題なくアプリケーションを実行します。私のプライベート Web スペースも同様です。しかし、アプリケーションをクライアントサーバーにアップロードすると、500 が表示されます。内部サーバーエラー。私の側で奇妙なスクリプトエラーを排除するために、SDK に付属している example.php を実行しようとしました。同じエラーです。次のように Facebook クラスをインスタンス化しようとしたときでも:

<?php

require '../src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => '???',
  'secret' => '??????',
));
?>

すでにサーバーのエラーログを確認しました。言及されているのは次のことだけです。

「スクリプトヘッダーの終了が早すぎます:例.php」

私も広く提案されているものを使用しました error_reporting(E_ALL); サーバー側での誤ったエラー処理を避けるため。何もない。サーバーは何が問題なのか教えてくれません。

他の人がこのエラーを経験した理由はたくさんありますが、最も顕著なものは次のとおりです。

  • ない ?> facebook.php /base_facebook.php のタグ
  • の複数のインスタンス Facebook- そして FacebookApiException

...提供された解決策はどれも私には役に立ちませんでした。

そこで、クライアントと弊社サーバーの両方の phpinfo を比較してみました。もちろん、いくつかの違いはありましたが、私にとって明らかなものはありませんでした。私は、フォーラムの参加者が既に ISE 500 に関連付けている、次のような基本的な事項を探しました。 cURL拡張子, PHPバージョン(5.3.9). 。私はサーバー管理者ではなく、サーバー構成についての非常に基本的な知識しか持っていません。そこで、何かが不足していることを確認するために、Facebook SDKのサーバー要件を見つけようとしました...

...しかし、ウェブ全体では Facebook SDK のサーバー要件を教えてくれません。Facebookのドキュメントにも何も記載されていません。だから、この辺で私を助けてくれる人がいるかもしれないと願っています。

はい...私はすでにサーバー管理者に助けを求めましたが、彼は目に疑問符を 2 つ浮かべて私を見ただけでした...はい...クライアントサーバーを使用する必要があります:( はぁ

期待を込めて感謝します...


アップデート:
あなたの提案に応えて私が試したことをリストします:

サーバ:
- cURL拡張機能がインストールされています(7.20.1)
・PHPのバージョンは5.3.9です。
- 他のファイルを含めてみましたが、正常に動作しました。パスの問題ではないようです
- サーバー エラー ログには、「スクリプト ヘッダーの早期終了:例.php」
- log_errors が有効になっています。error_log に「値がありません」と表示される
- 試してみた ini_set("display_errors", true); バグ追跡のため...無効


更新 2

そこで、Facebook ファイルを一行ずつ確認した結果、問題を特定することができました。セッションを開始しようとした直後に、内部サーバー エラー 500 がスローされます。

if(!session_id())
{
    session_start();
}

この情報をサーバー管理者とクライアントに転送しました...今は私の手に負えないと思います。答えが得られたらこの投稿を更新します。フィードバックをありがとうございます:)


解決

OK、サーバー管理者が問題を特定しました。session.save_handler は「user」に設定されていましたが、彼はそれを「files」に変更しました。今ではすべてが機能します。

session.save_handler = files

もう一度助けていただきありがとうございます!

役に立ちましたか?

解決 3

phpinfo() に答えがありました。セッションでは、save_handler パラメーターを次から設定する必要がありました。

session.save_handler = user

に:

session.save_handler = files

他のヒント

インクルードの前に、スクリプトの先頭にこれを追加してみてください。

ini_set("display_errors", true);

これは非常に悪い質問の好例です。

あなたの問題はただ一つだけですが、 how to get an error message from PHP, 、あなたは誰も知る必要のないことについて小説全体を書きました。Facebook アプリやその他のものを実行しているかどうかは関係ありません。インストールしたcurlのバージョンは関係ありません。

必要なのは、PHP エラー メッセージだけです。
それを追跡しなければなりません。チェック error_reporting, error_log そして log_errors phpinfo() のディレクティブ。
ユーザーのホーム ディレクトリに追加のログ ファイルがないか確認してください。サーバー管理者にログ ファイルを問い合わせてください。これが検索の唯一の方向である必要があります - PHP エラー メッセージ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top