• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

PHPエージェントがエラーを報告しない

問題

アプリケーションのエラーが、期待通りにPHPエージェントに報告されない、または捕捉されない。

解決

サードパーティのエラーハンドラ を使用している場合(例: XDebug または Laravel のエラーハンドラ):

  1. サードパーティのエラーハンドラを無効にする。
  2. エラーが報告されていることを確認するには、 APM errors page を参照してください。

サードパーティ製のエラーハンドラを使用していない場合 それでも期待したエラーが表示されない場合(例:404エラー)。

  1. PHP がエラーを処理していることを確認してください。なぜなら、New Relic は PHP が認識できないエラー (Web サーバー上の静的資産の 404 エラーなど) を報告できないからです。
  2. newrelic_notice_error() API 呼び出しを使用して、発生が予想されるエラーを手動で計測します。
  3. エラーが報告されていることを確認するには、 APM errors page を参照してください。

原因

PHPはエラーを自身のデフォルトハンドラで処理します。XDebugやLaravelのエラーハンドラのような多くのサードパーティのハンドラは、しばしばPHPのデフォルトハンドラを上書きし、PHPの代わりにエラーを捕捉します。

PHPエージェントには独自のエラーハンドラがあり、PHPがエラーを捕捉することに依存しています。1つのエラーを処理できるのは1つのハンドラーだけなので、エージェントは、PHPに捕捉される前にサードパーティのハンドラーによって既に処理されたエラーを見ることはありません。

さらに、一部のエラー (例: 404 エラー) は Web サーバー レベルで発生することがよくあります。これは、PHP が関与することはなく、エラーがエージェントによってキャプチャされることもありません。PHP を使用して 404 エラーを処理する場合は、 newrelic_notice_error() API 呼び出しを使用してこれらのエラーを手動で計測します。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.