josedasilva @ 22:19

Dom, 07/12/08

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 erros "Syntax 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_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.

 



Blog pessoal de José Silva. Sou programador informático, nos últimos anos dedicado quase exclusivamente ao PHP.
Dezembro 2008
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6

7
8
9
10
11
12
13

14
15
16
17
18
19
20

21
22
23
24
25
26
27

28
29
30
31


Pesquisar
 
subscrever feeds
blogs SAPO