Configurar Visual Studio Code + Laradock + xDebug
Este artigo serve para explicar como utilizar o xDebug com o Laradock no Visual Studio Code.
Viusal Studio Code
Visual Studio Code é um editor de código redefinido e otimizado para criar e depurar aplicações modernas para a web. O Visual Studio Code é gratuito e está disponível para a tua plataforma favorita — Linux, macOS e Windows.
Laradock
Laradock é um ambiente de desenvolvimento PHP completo para Docker.
Suporta uma variedade de serviços comuns, todos pré-configurados para fornecer um ambiente de desenvolvimento de PHP pronto.
xDebug
xDebug é uma extensão do PHP para auxiliar na depuração e desenvolvimento.
- contém um depurador de etapa única para usar com IDEs
- atualiza a função var_dump () do PHP
- adiciona rastreamentos de pilha para Notices, Warnings, Errors e Exceptions
- possui funcionalidade para gravar cada chamada de função e atribuição de variável no disco
- contém um profiler
- fornece funcionalidade de cobertura de código para uso com PHPUnit
Editar o ficheiro .env na pasta do Laradock
- nano .env
- Procurar WORKSPACE_INSTALL_XDEBUG e substituir o valor por true
- Procurar PHP_FPM_INSTALL_XDEBUG e substituir o valor por true
Editar os ficheiros de configuração do xDebug
- nano workspace/xdebug.ini
- nano php-fpm/xdebug.ini
- Substituir o conteúdo de ambos os ficheiros por:
xdebug.remote_host=host.docker.internal
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.idekey=VSCODExdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.cli_color=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir="~/xdebug/vscode/tmp/profiling"xdebug.remote_handler=dbgp
xdebug.remote_mode=reqxdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1
Rebuild e reiniciar os containers workspace e php-fpm
- docker-compose build workspace php-fpm
- docker-compose up -d workspace php-fpm
- docker-compose restart workspace php-fpm
Activar o xDebug no Visual Studio Code
- No menu do Visual Studio Code, clicar Run e de seguida Add Configuration
- Adicionar a configuração seguinte:
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"log": true,
"pathMappings": {
"/var/www": "${workspaceRoot}",
},
"ignore": [
"**/vendor/**/*.php"
]
}
Start/Stop xDebug
Ao instalar o xDebug, este fica ativo para ser executado no startup por padrão.
Para controlar o comportamento do xDebug (no container php-fpm), podes executar os seguintes comandos da pasta raiz Laradock, (no mesmo prompt em que executas docker-compose):
Parar o xDebug de iniciar por defeito: ./php-fpm/xdebug stop.
Iniciar o xDebug por defeito: ./php-fpm/xdebug start.
Ver o estado do xDebug: ./php-fpm/xdebug status.
Está pronto, agora podes começar a usar xDebug no Visual Studio Code.