Como remover a mensagem “Deprecated: Directive ‘track_errors’ is deprecated in Unknown on line 0” no WordPress

Tenho recebido relatos de colegas que estão usando as últimas versões do WordPress, mas quando vão atualizar a versão do PHP, veem a seguinte mensagem de erro:

Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0

Fui estudar a questão mas logo ocorreu comigo mesmo, quando fui atualizar um sítio de um cliente da versão 7.1 para a 7.3 (as versões 7.4 e 8.0 ainda não estão disponíveis em vários provedores).

De fato, a diretiva track_errors, normalmente configurada no documento php.ini, foi descontinuada na versão 7.2. Eu pessoalmente nunca a usei, mas me parece que ela vem ativada por padrão em várias hospedagens.

(Aliás, apesar de estar na documentação do PHP, “depreciado” é uma tradução INCORRETA da palavra “deprecated”, a função não teve “seu preço reduzido“, ela entrou em obsolescência, foi descartada. Não vamos reproduzir esta incorreção, certo?)

Mas como proceder para remover esta mensagem irritante?

Solucão 1: Desativar a diretiva no php.ini local

Verifica se já existe um arquivo php.ini na raiz da tua hospedagem. Abre este documento e ajusta a opção track_errors em Off (desligado).

Se não existir, cria um documento texto com o nome php.ini na raiz da hospedagem e adiciona a seguinte linha:

track_errors = Off

Solução 2: Desligar a diretiva no painel administrativo da hospedagem

Alguns provedores, como a Umbler, facilitam este trabalho com o controle destas variáveis e configurações diretamente no painel administrativo. Sendo assim, é só desligar a diretiva no local adequado. Na Umbler, este controle fica nas “Configurações PHP”.

Pronto! A mensagem deve ter sumido.

Este artigo te ajudou? Tens alguma dica extra ou dúvida? Escreve aí embaixo que a gente troca uma ideia!

Como ativar o relatório de erros do PHP no MAMP?

Eu sou fã do Mac e uso o MAMP não só para desenvolver sítios WordPress, mas também outros projetos em PHP. Durante este trabalho, é muito útil ver os erros direto na tela, sem ter que lançar mão de outros recursos.

No entanto, por padrão, essa opção é desativada no MAMP. No MAMP versão PRO, é bem fácil trocar, é só ir nas configurações, em Error Handling (Manuseio dos Erros) e na seção “To” marque a opção “Display”.

Ajustes para a visualização de erros no MAMP PRO

Se tu usas a versão básica como eu, é um pouco mais chato, mas não é tão complicado, como vemos abaixo:

1. Abra a pasta do MAMP, que está em /Applications/MAMP/. Dentro dela, teremos a pasta de “configurações” (/conf/) com as diversas versões do PHP que estão instaladas em tua máquina.

2. Escolhe a versão que estás usando. No meu caso, eu estou usando a versão PHP 7.3, então o caminho completo da pasta é esse: /Applications/MAMP/conf/php7.3.8. Abre o documento php.ini que está dentro dela.

3. Procura a linha onde se está o parâmetro display_errors e muda de “Off” para “On”.

4. Se precisares mudar os tipos de erros o que tu queres que sejam exibidos, usa o parâmetro error_reporting para isso. Eu recomendo que tu deixes a opção E_ALL que é justamente todos os erros.

5. Para o servidor Apache e reinicia novamente para que os ajustes feitos tomem efeito.

FEITO! Agora quando executares um script PHP, serão exibidos os níveis de erros: errors, warnings e notices.