SlideShare uma empresa Scribd logo
Depurando Aplicações PHP Jefferson Jean Martins Girão
Depurando Aplicações PHP O termo “bug”
Depurando Aplicações PHP O que entendemos por depuração? Resolução de problemas (bugs) Erros Sintáticos / de Interpretação Erros Semânticos Erros Lógicos Avisos e Notificações Baixo desempenho Ferramentas Mensagens de erro do PHP Recursos do Eclipse PDT Instruções de impressão  XDebug Firebug + FirePHP
Depurando Aplicações PHP Exibição de erros do PHP No php.ini display_errors = On Exibindo Erros error_reporting = E_ALL Que tipos de erros serão reportados Pegadinha Utilização do operador de supressão @
http://www.xdebug.org/ Depurando Aplicações PHP O que é o XDebug? Uma extensão para o PHP Multiplataforma Atualmente na versão 2 Criada pelo Derick Rethans (Colaborador chave no desenvolvimento do PHP) Com o objetivo de prover informações para depuração e otimização de aplicações
Depurando Aplicações PHP Principais recursos do XDebug Melhorias nas mensagens de erro do PHP Melhorias na saída do var_dump() Proteção contra recursões infinitas Depuração remota (Debugging) Acompanhamento do fluxo da aplicação (Tracing) Informações sobre consumo de recursos  (Profilling) Cobertura de código (Code Coverage)
Depurando Aplicações PHP Instalação Através do código fonte  Através de binários
Depurando Aplicações PHP Instalação Configuração do php.ini No Windows: zend_extension_ts="C:\Diretorio\de\extensoes\do\PHP\php_xdebug.dll" No Linux: zend_extension="/diretorio/de/extensoes/do/PHP/xdebug.so" Verificando através do phpinfo();
Depurando Aplicações PHP Configurações comuns do XDebug No php.ini xdebug.var_display_max_data= 512 Tamanho máximo de exibição de uma variável, além disso truncada xdebug.var_display_max_children = 128 Tamanho máximo de elementos de um array ou objeto a ser exibido xdebug.show_local_vars=On  Exibe variáveis locais xdebug.dump.GET=*  Mostra o conteúdo da superglobal GET (funciona para GET, POST, SERVER, COOKIE, FILES, REQUEST e SESSION) xdebug.max_nesting_level=4  Define limite de recursão
Depurando Aplicações PHP Debugging No php.ini ; debug remoto xdebug.remote_enable=On xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_handler="dbgp" No Eclipse PDT run->open debug dialog...->PHP Web Page->New Defina o Server Debugger para Xdebug Escolha um arquivo por onde iniciar o debug Verifique se a URL autogerada está correta Apply->Debug
Depurando Aplicações PHP Tracing No php.ini xdebug.auto_trace=On xdebug.trace_output_dir=D:\Temp Fazendo tracing de uma parte específica do código
Depurando Aplicações PHP Profilling No php.ini xdebug.profiler_output_dir="D:\Temp" xdebug.profiler_append=On xdebug.profiler_enable_trigger=On  O KCacheGrind
Depurando Aplicações PHP O que é o FirePHP? É um plugin para um plugin (dã) do Firefox chamado Firebug Permite que Scripts PHP conversem com o painel do Firebug Todos os dados são enviados via response headers sem interferir no conteúdo da página Ideal para depuração de aplicações AJAX onde respostas JSON e XML simples são necessárias
www.firephp.org Depurando Aplicações PHP Instalação O FireBug O FirePHP As Bibliotecas API Procedural API Orientada a Objeto
Depurando Aplicações PHP Release Variável global definindo se está em modo de depuração ou não if(DEBUG)  $firephp->fb(&quot;Debugando...&quot;);  Tags de debug + PHPReleaser <?php  #DEBUG  require_once(&quot;firephp.class&quot;);  $firephp = FirePHP::getInstance(true);  #DEBUG_END  //[CODIGO...]  #DEBUG  $firephp->fb($ob);  #DEBUG_END  ?>  http://yensdesign.com/tutorials/phpdebug/phpreleaser.rar
Obrigado! [email_address] Depurando Aplicações PHP Referências http://www.xdebug.org/docs/ http://www.firephp.org/HQ/Use.html http://devzone.zend.com/article/2803-Introducing-xdebug http://www.onlamp.com/pub/a/php/2004/08/12/DebuggingPHP.html http://mikebernat.com/blog/My_PHP_Best_Practices

Mais conteúdo relacionado

ODP
Qualidade no desenvolvimento de software com PHPUnit
PDF
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PDF
Testes unitários como ferramentas de design de código
PDF
Desenvolvimento Rápido de Programas Linha de Comando
ODP
PHPUnit e teste de software
PPT
Aula3
PDF
Zephir
PPTX
Rumo à Certificação PHP
Qualidade no desenvolvimento de software com PHPUnit
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
Testes unitários como ferramentas de design de código
Desenvolvimento Rápido de Programas Linha de Comando
PHPUnit e teste de software
Aula3
Zephir
Rumo à Certificação PHP

Mais procurados (20)

PDF
Testes unitários como ferramentas de design de código
PPTX
PHP 7 - A Maioridade do PHP
PDF
PHP para aplicações Web de grande porte
PDF
Minicurso PHP básico
PDF
PHP: Linguagem + Mysql + MVC + AJAX
PPTX
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
PDF
YAPC::Brasil 2009, OpenSIPS e PERL
ODP
Ganhando tempo com casos de testes
PPS
CURSO DE PHP PARA INICIANTES - AULA 1
PDF
Objects calisthenics - Os 10 mandamentos do rei do código
PDF
Serversidephp pptx2-120418140114-phpapp01
PPT
Tirando Certificação PHP
ODP
Curso Linguagem de Programação I - PHP Básico
PPT
Desenvolvimento web: PHP orientado a objetos
PDF
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
PDF
Xdebug seus problemas acabaram - tdc floripa 2017
PDF
Introdução a php
PPT
Curso de PHP Básico ao Avançado
ODP
O que há de novo no PHP 5.3
Testes unitários como ferramentas de design de código
PHP 7 - A Maioridade do PHP
PHP para aplicações Web de grande porte
Minicurso PHP básico
PHP: Linguagem + Mysql + MVC + AJAX
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
YAPC::Brasil 2009, OpenSIPS e PERL
Ganhando tempo com casos de testes
CURSO DE PHP PARA INICIANTES - AULA 1
Objects calisthenics - Os 10 mandamentos do rei do código
Serversidephp pptx2-120418140114-phpapp01
Tirando Certificação PHP
Curso Linguagem de Programação I - PHP Básico
Desenvolvimento web: PHP orientado a objetos
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
Xdebug seus problemas acabaram - tdc floripa 2017
Introdução a php
Curso de PHP Básico ao Avançado
O que há de novo no PHP 5.3
Anúncio

Destaque (20)

PDF
Práctica duotono separación
PDF
Troquel caja unique
PDF
Lenguaje de Líneas-Caja Sucralmax
PDF
Practica 8b
PDF
Arte Final Caja sucralmax
PDF
CAJA TROQUEL Lenguaje de lineas
PDF
practica 10:troquel - lineas de corte y doblez
PPT
El diseño de folletos el diseño de plegables
PPT
Tipos de Plegados
PDF
Juego y aprendo con mi material de preescolar. Primer grado pdf
PDF
List Down Your Expectations
PPTX
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
PDF
resumeh aali1
PPT
Latvija 2030, NAP2020 un deklarācijas īstenošanas uzraudzības ziņojums
DOC
這一打‧好貴
PPTX
Plan clases ingles orinson valenciano
PDF
Kuidas Targad Juhid Tegutsevad 2007
PPSX
Ascent of pikes peak
PPSX
Oscars after - party
PDF
Virální marketing
Práctica duotono separación
Troquel caja unique
Lenguaje de Líneas-Caja Sucralmax
Practica 8b
Arte Final Caja sucralmax
CAJA TROQUEL Lenguaje de lineas
practica 10:troquel - lineas de corte y doblez
El diseño de folletos el diseño de plegables
Tipos de Plegados
Juego y aprendo con mi material de preescolar. Primer grado pdf
List Down Your Expectations
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
resumeh aali1
Latvija 2030, NAP2020 un deklarācijas īstenošanas uzraudzības ziņojums
這一打‧好貴
Plan clases ingles orinson valenciano
Kuidas Targad Juhid Tegutsevad 2007
Ascent of pikes peak
Oscars after - party
Virální marketing
Anúncio

Semelhante a Depurando Aplicacoes PHP (20)

PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PDF
Depurando aplicações PHP like a BOSS
PDF
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
PDF
Xdebug seus problemas acabaram - TDC - PHPeste
PDF
1001 maneiras de debugar o WordPress
ODP
Depurando Aplicacoes PHP com XDebug e FirePHP II
PPT
Depurando Aplicações PHP com XDebug e FirePHP - SETI 2008
PDF
Pense no futuro: PHP com Zend Framework
PDF
15 coisas sobre php para saber antes de morrer
PPTX
Introdução ao PHP - Criação de sites II
PDF
Qualidade em projetos PHP - PHPSC Conf 2011
PPTX
Aula 01 introdução ao php
PDF
Testando Aplicações com PHPT
PPT
PHP(I-Bim).ppt
PPTX
PHP Tools for Fast coding
PPT
Minicurso de TDD
PDF
Php m18
PPTX
C#4 - Parte 2 - COM interop e variância
ODP
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
Depurando aplicações PHP like a BOSS
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
Xdebug seus problemas acabaram - TDC - PHPeste
1001 maneiras de debugar o WordPress
Depurando Aplicacoes PHP com XDebug e FirePHP II
Depurando Aplicações PHP com XDebug e FirePHP - SETI 2008
Pense no futuro: PHP com Zend Framework
15 coisas sobre php para saber antes de morrer
Introdução ao PHP - Criação de sites II
Qualidade em projetos PHP - PHPSC Conf 2011
Aula 01 introdução ao php
Testando Aplicações com PHPT
PHP(I-Bim).ppt
PHP Tools for Fast coding
Minicurso de TDD
Php m18
C#4 - Parte 2 - COM interop e variância
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...

Último (19)

PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula 18 - Manipulacao De Arquivos python
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Custos e liquidação no SAP Transportation Management, TM130 Col18
Processos na gestão de transportes, TM100 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Apple Pippin Uma breve introdução. - David Glotz
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula04-Academia Heri- Tecnologia Geral 2025
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
COBITxITIL-Entenda as diferença em uso governança TI
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...

Depurando Aplicacoes PHP

  • 1. Depurando Aplicações PHP Jefferson Jean Martins Girão
  • 2. Depurando Aplicações PHP O termo “bug”
  • 3. Depurando Aplicações PHP O que entendemos por depuração? Resolução de problemas (bugs) Erros Sintáticos / de Interpretação Erros Semânticos Erros Lógicos Avisos e Notificações Baixo desempenho Ferramentas Mensagens de erro do PHP Recursos do Eclipse PDT Instruções de impressão XDebug Firebug + FirePHP
  • 4. Depurando Aplicações PHP Exibição de erros do PHP No php.ini display_errors = On Exibindo Erros error_reporting = E_ALL Que tipos de erros serão reportados Pegadinha Utilização do operador de supressão @
  • 5. http://www.xdebug.org/ Depurando Aplicações PHP O que é o XDebug? Uma extensão para o PHP Multiplataforma Atualmente na versão 2 Criada pelo Derick Rethans (Colaborador chave no desenvolvimento do PHP) Com o objetivo de prover informações para depuração e otimização de aplicações
  • 6. Depurando Aplicações PHP Principais recursos do XDebug Melhorias nas mensagens de erro do PHP Melhorias na saída do var_dump() Proteção contra recursões infinitas Depuração remota (Debugging) Acompanhamento do fluxo da aplicação (Tracing) Informações sobre consumo de recursos (Profilling) Cobertura de código (Code Coverage)
  • 7. Depurando Aplicações PHP Instalação Através do código fonte Através de binários
  • 8. Depurando Aplicações PHP Instalação Configuração do php.ini No Windows: zend_extension_ts=&quot;C:\Diretorio\de\extensoes\do\PHP\php_xdebug.dll&quot; No Linux: zend_extension=&quot;/diretorio/de/extensoes/do/PHP/xdebug.so&quot; Verificando através do phpinfo();
  • 9. Depurando Aplicações PHP Configurações comuns do XDebug No php.ini xdebug.var_display_max_data= 512 Tamanho máximo de exibição de uma variável, além disso truncada xdebug.var_display_max_children = 128 Tamanho máximo de elementos de um array ou objeto a ser exibido xdebug.show_local_vars=On Exibe variáveis locais xdebug.dump.GET=* Mostra o conteúdo da superglobal GET (funciona para GET, POST, SERVER, COOKIE, FILES, REQUEST e SESSION) xdebug.max_nesting_level=4 Define limite de recursão
  • 10. Depurando Aplicações PHP Debugging No php.ini ; debug remoto xdebug.remote_enable=On xdebug.remote_host=&quot;localhost&quot; xdebug.remote_port=9000 xdebug.remote_handler=&quot;dbgp&quot; No Eclipse PDT run->open debug dialog...->PHP Web Page->New Defina o Server Debugger para Xdebug Escolha um arquivo por onde iniciar o debug Verifique se a URL autogerada está correta Apply->Debug
  • 11. Depurando Aplicações PHP Tracing No php.ini xdebug.auto_trace=On xdebug.trace_output_dir=D:\Temp Fazendo tracing de uma parte específica do código
  • 12. Depurando Aplicações PHP Profilling No php.ini xdebug.profiler_output_dir=&quot;D:\Temp&quot; xdebug.profiler_append=On xdebug.profiler_enable_trigger=On O KCacheGrind
  • 13. Depurando Aplicações PHP O que é o FirePHP? É um plugin para um plugin (dã) do Firefox chamado Firebug Permite que Scripts PHP conversem com o painel do Firebug Todos os dados são enviados via response headers sem interferir no conteúdo da página Ideal para depuração de aplicações AJAX onde respostas JSON e XML simples são necessárias
  • 14. www.firephp.org Depurando Aplicações PHP Instalação O FireBug O FirePHP As Bibliotecas API Procedural API Orientada a Objeto
  • 15. Depurando Aplicações PHP Release Variável global definindo se está em modo de depuração ou não if(DEBUG) $firephp->fb(&quot;Debugando...&quot;); Tags de debug + PHPReleaser <?php #DEBUG require_once(&quot;firephp.class&quot;); $firephp = FirePHP::getInstance(true); #DEBUG_END //[CODIGO...] #DEBUG $firephp->fb($ob); #DEBUG_END ?> http://yensdesign.com/tutorials/phpdebug/phpreleaser.rar
  • 16. Obrigado! [email_address] Depurando Aplicações PHP Referências http://www.xdebug.org/docs/ http://www.firephp.org/HQ/Use.html http://devzone.zend.com/article/2803-Introducing-xdebug http://www.onlamp.com/pub/a/php/2004/08/12/DebuggingPHP.html http://mikebernat.com/blog/My_PHP_Best_Practices