Desativando a exibição de erros e alertas no PHP

A exibição de alertas ou erros podem expor partes sensíveis e criticas do projeto.

Criando uma aplicação com área administrativa utilizando o Laravel

Todo bom desenvolvedor debuga o seu código além de testar cada parte, sabendo se algo está funcionando ou não. Quando uma nova atualização chega, erros, alertas ou mensagens da aplicação podem surgir, mas essas informações não deve chegar para o usuário final, no máximo um status code 500.

Ao expor uma mensagem de erro, é possível que um atacante explore essa falha e obtenha informações importantes do projeto. É comum ver erros que mostram dados de uma tabela do banco de dados, isso se torna ainda mais complicado quando a plataforma não está protegida contra ataques de SQL Injection.


Vamos fazer uma simples configuração no arquivo php.ini, basicamente desativando os alertas. Mas atenção, essas configurações devem ser realizadas em ambiente de produção, no servidor local você deve deixar passar todos os erros, evitando assim subir features quebradas.

Na pasta root do seu servidor, crie um arquivo chamado php.ini e insira as instruções abaixo.

display_errors=off
error_reporting = off

Mas caso você não tenha acesso aos arquivos do servidor, insira o código abaixo no seu arquivo principal do PHP.

<?php
     error_reporting(0);
     ini_set("display_errors", 0);

Você pode conferir todos os valores aceitos em: https://www.php.net/manual/pt_BR/errorfunc.configuration.php#ini.display-errors.

É possível deixar apenas warning, notice, error e mais alguns outros, mas como foi abordado acima, erros devem ser evitados em ambiente de produção.