PHP — Controlo de erros (Debug)
Analise dos logs enquanto se desenvolve
Um dos erros muito comuns no desenvolvimento em qualquer linguagem interpretada é não usarmos a totalidade das vantagens da análise de logs. No PHP para um uso mais eficiente do relatório de erros e avisos, a propriedade error_reporting, no ficheiro php.ini, deverá ser definida como E_ALL.
error_reporting = E_ALL
Para um desenvolvimento mais efectivo, desligo sempre a visualização de erros no “screen”, preferindo a análise dos mesmos no ficheiro de log. Para isso defino o display_errors como desligado.
display_errors = Off
Necessitamos ainda, de indicar ao PHP para efectuar o log dos erros para um ficheiro e indicar qual o caminho para o ficheiro onde desejamos gravar as mensagens de erro.
log_errors = On ; Desejamos gravar as mensagens em ficheiro
error_log = “/var/logs/php.log” ; Caminho para o ficheiro onde desejamos gravar as mensagens
Depois basta abrir uma consola onde estou a monitorizar toda a actividade do ficheiro de log do php.
tail –f /var/logs/php.log
Xdebug
A extensão XDebug para PHP permite efectuar profilling e debugging de uma forma muito simples, com funções como xdebug_memory_usage( ), que nos permite analisar o uso da memória do script currente, que também tem correspondente na versão nativa do php, memory_get_usage(), a função xdebug_call_class(), que permite saber em que class foi o método invocado, entre muitas outras.
A extensão XDebug proporciona uma melhoria na visualização de mensagens de erro, podendo-se observar o caminho de execução do script até ao momento em que aconteceu o erro, por exemplo.
Mais informações sobre a extensão na página da mesma.

