XDebug no Laravel 10 com Sail
[Finalizado Pelo Aluno]
Encontrei uma aula do curso de Laravel Sail (módulo 02, aula 05) na tentativa de resolver o meu problema, mas mesmo assim ainda não estou conseguindo rodar o Xdebug em nenhum projeto Laravel que eu venha utilizar. Instalei um projeto novo do zero para testar e fiz as etapas exatamente do jeito que estava na vídeoaula. Já inseri o SAIL_XDEBUG_MODE=develop,debug,coverage no .env conforme documentação, já inseri aquela configuração no launch.json exatamente da forma que está no github do projeto do curso conforme abaixo:
Além disso eu já configurei uma rota para teste, um controller com um método index() apenas para retornar "Olá mundo", marquei um breakpoint e também instalei aquela extensão Xdebug helper (apesar de eu acreditar que ela NÃO é necessária e crucial para o funcionamento do Xdebug no VS Code)
Já rodei os comandos "sail down" e "sail up -d" para fazer efeito as alterações do .env
Quando eu aperto F5 para iniciar o debug e entro na janela do navegador para recarregar a rota, o VS Code não sinaliza nada e não aparece aquelas setinhas de debug nas linhas do arquivo que significa que ele estaria funcionando
Fora do contexto de Laravel Sail, eu já consegui fazer rodar, mas dentro do Sail eu nunca tive sucesso
Será que alguma coisa mudou por conta da versão do Laravel e do Xdebug?
Esse teste que eu fiz foi com as seguintes versões:
- WSL2 com Ubuntu 22.04.3 LTS
- Laravel 10.42.0
- PHP 8.3.2
- Xdebug 3.3.1
Todas essas versões são as mais recentes e atualizadas na data de hoje 26/01/2024
Poderia me ajudar a resolver esse problema? :D
Olá, Alef!
Tudo bem?
Tenho essa aula aqui sobre: https://academy.especializati.com.br/aula/laravel-sail-e-xdebug
Chegou a aplicar ela?
Foi essa mesma aula que eu tentei aplicar, mas não deu certo
No começo desse ticket eu escrevi: Encontrei uma aula do curso de Laravel Sail (módulo 02, aula 05)....
Eu já fiz exatamente como está no vídeo, mas ainda não está funcionando
Ah sim, é porque a dúvida não estava atrelada a aula, sem problemas, pode sempre contar comigo.
Tem o seu projeto no GitHub? Assim que der, eu rodo ele aqui e valido para vc! :)
No aguardo amigo!
https://github.com/aleffelipe96/laravel-sail-xdebug
O link é esse, acabei de subir
Além disso eu comentei /.vscode e .env do .gitignore para versionar junto e você ver como ficou
Em TestController eu coloquei um breakpoint na linha 11 e apertei F5 para iniciar o Debug e fui na janela do navegador para recarregar a rota /xdebug
Porém nada acontece
Olá, Alef!
Tudo bem?
Acabei de rodar aqui, e deu certo: https://ibb.co/JzRkyKC
Precisei abrir o seu projeto em remote container (instala a extensão remote container) abra o seu projeto em remote container, e tudo vai dar certo. Vou envei um um pr de algumas mudanças que fiz.
Eu acabei resolvendo de outra forma e precisei alterar um pequeno parâmetro no launch.json para configurar o xdebug
No github: https://github.com/especializati/curso-laravel-sail/blob/main/.vscode/launch.json a linha 12 -> "hostname": "localhost" era o grande problema de não estar funcionando na minha máquina. Eu precisei alterar para "hostname": "0.0.0.0" e essa simples alteração fez voltar a funcionar os breakpoints. Agora o que me deixa em dúvida é do motivo disso não estar funcionando como padrão, pois "hostname": "localhost" é o padrão que vejo em todos os lugares. Sabe me dizer o porque dessa configuração a parte que precisei alterar?
É porque o sail esta rodando na porta 0.0.0.0, por isso o problema.
Mas, que bom que achou a solução, é super válida.
Mas será que essa configuração mudou nas versões mais atuais do Laravel? pois quando eu configurei o projeto, eu não precisei especificar esse 0.0.0.0 em nenhum momento, sempre imaginei que ficaria localhost por padrão. Caso seja uma mudança geral, uma sugestão seria pontuar essa observação caso ocorra com mais pessoas ;D
Carlos, dê uma olhada nesse commit do projeto Sail:
https://github.com/laravel/sail/commit/9fa62a78767227236467a65b11028876277de9db
Foi uma alteração feita no mês passado que adiciona uma linha em todos os runtimes (8.0, 8.1, 8.2 e 8.3) e roda o artisan serve --host=0.0.0.0 por baixo dos panos
Será que foi esse o problema que causou para mim e no futuro para outras pessoas?
Foi isso sim, mas já sabemos a solução, e está registrada em seu ticket! :-)
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!