- Baixe e instale a extensão:
- Acesse o servidor que contém o código fonte PHP e irá executá-lo
- Instale o PHP Xdebug
- Em Debian, basta:
- apt-get install php7.0-xdebug
- Em Debian, basta:
- Acesse o arquivo x-debug.ini de configuração no servidor
- Exemplo em Debian Stretch:
- vim /etc/php/7.0/cli/conf.d/20-xdebug.ini
- Adicione as seguintes linhas ao arquivo de configuração
- xdebug.remote_enable=1
- #Esta linha e a debaixo não precisam ser adicionado. São apenas comentários de instrução de uso.
- #Ip do cliente que irá conectar. No nosso exemplo, iremos apenas deixar ser efetuado conexões locais, por questão de segurança, e iremos utilizar uma conexão SSH ao servidor, para permitir uma máquina remota depurar ‘remotamente’. Avalie para o seu caso qual deve ser o valor o correto para permitir o debug remoto, no caso, sendo necessário colocar o ip da máquina que irá efetuar o debug remoto. Outro ponto importante é que o servidor e a máquina remota devem ter capacidade de um se conectar no outro, por motivos óbvios. No caso, será utilizado a porta 9000 e para debugs via browser, a porta do seu servidor web.
- xdebug.remote_host=127.0.0.1
- xdebug.remote_port=9000
- xdebug.remote_handler = dbgp
- xdebug.remote_mode = req
- Abra o no add-on baixado. Ele está acessível no browser na URL em chrome://apps/
- Basta clicar no ícone do XDebug
- Ao abrir o XDebug APP, basta clicar em Listen e em seguida:
- Rodar no:
- Browser
- <url>?XDEBUG_SESSION_START=1
- Console
- XDEBUG_CONFIG=”” php <script_php>
- Exemplo usando o PHPUnit
- XDEBUG_CONFIG=”” php vendor/PHPUnit-4.4/phpunit.phar –debug <script_php>
- Browser
- E pronto! O debug utilizando o navegador deverá ter iniciado. Caso não verifique suas configuração (settings do app)
Caso o servidor PHP seja Unix-like com suporte a SSH, e a configuração de debug remoto tenha sido definido para rodar em 127.0.0.1 (apenas local), porém, a depuração vá ser feita remotamente em outro servidor, é necessário o passo extra seguinte:
- Na máquina onde vai ser feito o debug remoto, efetue a conexão ao servidor com o comando
- ssh -g -N -lroot -R9000:127.0.0.1:9000 <endereço_servidor_aqui>
- A configuração do XDebug APP deverá estar apontando para tudo local normalmente, visto que a conexão será feita via SSH, escondendo que a conexão remota.
- Apenas para conferência, as configurações do XDebug APP ficaram:
- Listening IP: 0.0.0.0
- Listening Port: 9000
- Number of lines: 50
- Keep Listening: checked
- Break at first line: checked
- Highlight syntax: checked
- Remember breakpoints: checked
- E pronto.