PHP Debugging

Referencia: Pedro Silva

Todas as linguagens dispõem de várias formas de efectuar debug de código, o PHP não foge a regra. Ao longo dos últimos 10 anos, que dediquei ao PHP, experimentei algumas técnicas, algumas com muito bons resultados outras nem por isso.

Validar a syntax

Antes de qualquer acto, deverá ser efectuada uma validação da conformidade da syntax do código, isto se não queremos ficar com o resultado do desenvolvimento cheio de errosSyntax Error“.  Muitos editores fazem esta validação, de modo visual, no entanto eu sugiro que o PHP CLI (Command Line Interface) seja corrido.

Exemplo: php -l file.php

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_reportingE_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.

Anúncios
Posted in PHP

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s