DEV Community

Cover image for Xdebug instalação e configuração no linux 🐧
Antonio Silva
Antonio Silva

Posted on • Edited on

Xdebug instalação e configuração no linux 🐧

Xdebug é uma extensão para PHP e fornece uma variedade de recursos para melhorar a experiência de desenvolvimento de PHP.


Step Debugging

  • Uma maneira de percorrer seu código em seu IDE ou editor enquanto o script está em execução.

Image description

Improvements to PHP's error reporting

  • Uma função var_dump() aprimorada, rastreamentos de pilha para Avisos, Avisos, Erros e Exceções para destacar o caminho do código para o erro

Image description

Image description

Tracing

  • Grava todas as chamadas de função, com argumentos e local de invocação no disco. Opcionalmente, também inclui todas as atribuições de variáveis e valores de retorno para cada função.
<?php
$str = "Xdebug";
function ret_ord( $c )
{
    return ord( $c );
}

foreach ( str_split( $str ) as $char )
{
    echo $char, ": ", ret_ord( $char ), "\n";
}
?>
Enter fullscreen mode Exit fullscreen mode
TRACE START [2007-05-06 14:37:16]
    0.0003     114112   -> {main}() ../trace.php:0
    0.0004     114272     -> str_split('Xdebug') ../trace.php:8
    0.0007     117424     -> ret_ord($c = 'X') ../trace.php:10
    0.0007     117584       -> ord('X') ../trace.php:5
    0.0009     117584     -> ret_ord($c = 'd') ../trace.php:10
    0.0009     117584       -> ord('d') ../trace.php:5
    0.0010     117584     -> ret_ord($c = 'e') ../trace.php:10
    0.0011     117584       -> ord('e') ../trace.php:5
    0.0012     117584     -> ret_ord($c = 'b') ../trace.php:10
    0.0013     117584       -> ord('b') ../trace.php:5
    0.0014     117584     -> ret_ord($c = 'u') ../trace.php:10
    0.0014     117584       -> ord('u') ../trace.php:5
    0.0016     117584     -> ret_ord($c = 'g') ../trace.php:10
    0.0016     117584       -> ord('g') ../trace.php:5
    0.0019      41152
TRACE END   [2007-05-06 14:37:16]
Enter fullscreen mode Exit fullscreen mode

Profiling

  • Permite, com a ajuda de ferramentas de visualização, analisar o desempenho da sua aplicação PHP e encontrar gargalos.

Image description

Code Coverage Analysis

  • Para mostrar quais partes da sua base de código são executadas ao executar testes de unidade com PHPUnit.

Image description


Instalando

Instalar o Xdebug com um gerenciador de pacotes costuma ser o caminho mais rápido. Dependendo da sua distribuição, execute o seguinte comando:

Ubuntu (18.04 LTS/Bionic, 20.04 LTS/Focal):

sudo apt-get install php-xdebug
Enter fullscreen mode Exit fullscreen mode

Ubuntu (Ondřej Surý's PPA):

sudo apt-get install php(versão)-xdebug
Enter fullscreen mode Exit fullscreen mode

Para outras distribuições linux aqui.

Instalando com PECL

Você pode instalar o Xdebug através do PECL no Linux com Homebrew.

Pré-requisitos:

  • GCC e bibliotecas associadas.
  • Cabeçalhos de desenvolvimento PHP.

Run:

pecl install xdebug
Enter fullscreen mode Exit fullscreen mode

Configurando

Primeiro temos que encontrar o arquivo de configuração dos xdebug, no linux ele se encontra no seguinte caminho:

cd /etc/php/sua versão do php/mods-available
Enter fullscreen mode Exit fullscreen mode

Dentro desse diretório encontra-se xdebug.ini o arquivo de configuração do xdebug e abra o arquivo com algum editor de código.

sudo seu editor xdebug.ini
Enter fullscreen mode Exit fullscreen mode

Coloque as seguintes configurações:

zend_extension=xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_port=9003
xdebug.client_host=127.0.0.1
xdebug.cli_color=1
xdebug.show_local_vars=1
Enter fullscreen mode Exit fullscreen mode

Vamos vereficar se o xdebug foi instalado e está funcionando para isso use o seguinte código php:

<?php

phpinfo();
Enter fullscreen mode Exit fullscreen mode

Nas informações do php você deve encontrar uma seção do xdebug.

Image description


Resolvendo um problema

Na imagem acima, mostra que o nosso xdebug está com os modos Development Helpers e Step Debugger ativos, mas se em um determinado projeto quisermos ativar ou desativar algum modo sem mexer no arquivo principal do xdebug.

Para que isso, seja possível vamos usar a variável de ambiente XDEBUG_MODE, como no exemplo abaixo:

XDEBUG_MODE=coverage php -S 127.0.0.1:8000
Enter fullscreen mode Exit fullscreen mode

Se checamos novamente na seção xdebug teremos apenas o modo coverage abilitado

Image description

Aqui encontra-se as instruções dos outros modos e de todas as configurações possiveis do xdebug.

Assim termina o nosso guia de instalação e configuração do xdebug no linux.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay