web-dev-qa-db-ja.com

IIS7でPHPエラーを表示してログに記録するにはどうすればよいですか?

PHP 5.2.5 IIS 7サーバー上で実行しており、PHPエラーを表示する際に問題が発生しています...現在、PHPエラーが発生すると、サーバーは500エラーを返します。「内部サーバーエラーが発生したため、ページを表示できません。」

これはプロダクションWebサイトには良い設定かもしれませんが、開発サーバーではやっかいです... ;-)

設定してみましたphp.ini画面にエラーを表示し、特定のフォルダにログを記録しますが、サーバーは以前にすべてのエラーをキャッチし、PHPによって防止および処理しているようです...

IIS display PHP画面上のエラー)を行うために私たちがしなければならないことを誰かが知っていますか?この件に関するリンク、ヒント、またはチュートリアルをいただければ幸いです!

30
Ben

再確認するために、error_reporting = E_ALLでロギングをdisplay_errors = Onに設定し、php.iniを設定していますか?通常、これはこれらのエラーをIIS 7.に表示するのに十分です。

次に、ローカルでエラーメッセージのみを表示するように設定されている可能性があるため、IIS=設定を確認します。IIS 7構成エディターでは、これはシステムの下にあります.webServer-> httpErrors。errorModeをDetailedLocalOnlyからDetailedに変更する必要があります。これにより、サイトを閲覧しているすべてのユーザーがエラーを確認できるようになります。

enter image description here

enter image description here

または、ローカルに保持したい場合は、リモートデスクトップを使用してサーバーにログインし、可能な場合はそこからアプリを実行できます。

35
Sam Cogan

追加したいのは、「existingResponse」を「PassThrough」に設定することです。追加の設定がなければ、実際のエラーメッセージは表示されませんでした。

2
Bolli

私はウェブサーバーの設定をphp設定に入れる必要があり、そこにエラー報告のための設定があり、デフォルトで本番に設定されています。 php.iniとここでの提案を変更した後でも、開発に変更する必要がありました。 2008 R2でiis 7.5を使用しています。

0
naps1saps

これは、IIS Manager GUIを使用して簡単に行うことができます。サイトを選択し、[エラーページ]をダブルクリックします。次に、[機能設定の編集...]をクリックし、代わりに[詳細なエラー]オプションを選択します。デフォルトの「ローカルリクエストの詳細エラーとリモートリクエストのカスタムエラーページ」です。

0
Jeroen Aarts