Veja o artigo abaixo para aprender como alterar o arquivo php.ini para exibir erros:
PHP 004: Alterando o Arquivo php.ini para Habilitar a Exibição de Erros
Mas nem todos temos acesso ao php.ini e nesse caso a maneira mais fácil exibir erros e avisos do PHP é adicionar estas linhas diretamente em seu código PHP:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
A função ini_set tentará substituir a configuração encontrada em seu arquivo php.ini.
Se no arquivo php.ini display_error estiver desativado, isso será ativado no código.
Ele também define display_startup_errors como true para mostrar a mensagem de erro.
error_reporting() é uma função nativa do PHP que é usada para exibir os erros. Ao defini-lo como verdadeiro, ele exibe o erro que ocorre no código.
o que é E_ALL?
O código PHP produz diferentes níveis de erros. Então vamos aprender quais são esses tipos de erros que ocorrem em um código PHP.
- E_ERROR : erro de tempo de execução fatal, a execução do script foi interrompida
- E_WARNING : erro de tempo de execução não fatal, a execução do script foi interrompida
- E_PARSE : erro de tempo de compilação é gerado pelo analisador
- E_NOTICE : O script encontrou algo que pode ser um erro
- E_CORE_ERROR : rros fatais que ocorreram durante a inicialização inicial do script
- E_CORE_WARNING : Erros não fatais que ocorreram durante a inicialização inicial do script
- E_ALL : Todos os erros e avisos
Infelizmente, o código acima talvez não mostrará erros de análise, por exemplo, falta de ponto e vírgula. Para esta situação, a configuração do php.ini deve ser alterada:
display_errors = on
A linha display_errors deve ser definida como “on” no documento php.ini. Isso mostrará todos os erros, incluindo erros de sintaxe ou de análise que não podem ser mostrados simplesmente chamando o trabalho ini_set no código PHP.
Onde fica php.ini?
Pode estar em diversos lugares.
No Windows:
Se instalou o php usando o XAMPP então estará em
c:\xampp\php\php.ini
No Linux
/etc/php/7.4/apache2/php.ini
o 7.4 acima deve ser alterado pela versão do seu php instalado
Reinicie o apache após a alteração!