Problema
Os erros no seu aplicativo não são relatados ou capturados pelo agente PHP conforme esperado.
Solução
Se você for using a third party error handler (por exemplo: XDebug ou manipulador de erros do Laravel):
- Desative o manipulador de erros de terceiros.
- Confirme se os erros estão sendo relatados visualizando a página de erros do APM.
Se você é not using a third party error handler, mas ainda não vê o erro esperado (por exemplo: erros 404):
- Certifique-se de que o PHP esteja lidando com o erro, pois o New Relic não pode relatar erros que não são reconhecidos pelo PHP (como erros 404 para ativos estáticos no servidor web).
- Instrumente manualmente o erro que você espera ver usando a chamada de API
newrelic_notice_error()
. - Confirme se os erros estão sendo relatados visualizando a página de erros do APM.
Causa
PHP trata erros com seu próprio manipulador padrão. Muitos manipuladores de terceiros, como o XDebug ou o manipulador de erros do Laravel, geralmente substituem o manipulador padrão do PHP e capturam o erro em vez do PHP.
O agente PHP tem seu próprio manipulador de erros que depende da captura do erro pelo PHP. Como apenas um manipulador pode tratar um erro, o agente não vê os erros que já foram tratados pelo manipulador de terceiros antes que pudessem ser capturados pelo PHP.
Além disso, alguns erros (por exemplo: erros 404) ocorrem frequentemente no nível do servidor web, o que significa que o PHP nunca está envolvido e o erro nunca é capturado pelo agente. Se o PHP for usado para lidar com erros 404, use a chamada de APInewrelic_notice_error()
para instrumentar manualmente esses erros.