DEV Community

Cover image for Xdebug 3 no PHPStorm com PHP 7.4
Thiago Luna
Thiago Luna

Posted on

6 2

Xdebug 3 no PHPStorm com PHP 7.4

Olá Devs! Muitos bugs? Que bom que temos o Xdebug para nos ajudar!

Existem vários tutoriais mostrando como configurar o Xdebug em diferentes versões do PHP no PHPStorm.

Nesse artigo trago um Direto ao Ponto para configurar o Xdebug 3 no PHPStorm com PHP 7.4 e Docker - Linux.

Primeiro, vamos instalar o xdebug no container.
Em seguida, configurar o PHPStorm.

Vamos lá!

1- Criar o arquivo docker-php-ext-xdebug.ini.
Pode ser na raiz do projeto ou em alguma outra pasta de sua preferência.
Entrar no container e rodar find / -name xdebug.so para saber o path certo e colocar no zend_extension conforme abaixo:
[xdebug]
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so
xdebug.mode=debug
xdebug.client_port=9003
xdebug.start_with_request=yes
xdebug.discover_client_host=0
xdebug.client_host=host.docker.internal

OBS: Se tiver algum problema com o Xdebug não conseguir se conectar ao host.docker.internal, verificar qual é o ip da máquina local rodando o comando ifconfig (sudo apt install net-tools) e colocar esse ip no xdebug.client_host

2- Adicionar no Dockerfile:
# Xdebug
RUN pecl install xdebug && docker-php-ext-enable xdebug

# Conferir os paths corretos da pasta php dentro do container
ADD docker-php-ext-xdebug.ini /usr/local/etc/php/conf.d/
RUN echo "include_path=/usr/local/etc/php/conf.d/xdebug.ini" >> /usr/local/etc/php/php.ini

OBS: Entrar no container e rodar php --ini para saber os paths certos e colocar nessas linhas acima.

3- Adicionar no docker-compose.yaml a variável de ambiente dentro do serviço que vai rodar a aplicação:
extra_hosts:
- "host.docker.internal:host-gateway"
environment
- PHP_IDE_CONFIG=serverName=XdebugServer

Agora vamos seguir com as configurações no PHPStorm

4- Iniciar no PHPStorm a configuração clicando no combobox que fica do lado esquerdo do ícone Play.
Em seguida seleciona a opção Edit Configurations...
PHPStorm - Xdebug

Na tela seguinte, em Configuration > Server, clicar no ícone para adicionar um novo server.
PHPStorm - Xdebug

5- Preencher conforme imagem abaixo:
PHPStorm - Xdebug
A Port deverá ser a que é usada no browser para rodar a aplicação
No caso da aplicação ficar dentro do container na pasta /var/www, a mesma deverá ser usada no path mappings.
Em File/Directory > Project files > path do projeto, na coluna Absolute path on the server adicionar o caminho da pasta www de dentro do container conforme imagem acima.

6- Após essas configurações, voltar para a tela da Imagem 2
Clicar em Validate.
PHPStorm

O resultado esperado deve ser conforme imagem abaixo:
PHPStorm Xdebug

Com isso, o Xdebug deverá funcinar.

Clique aqui para ver um exemplo de container configurado como descrito neste post.
Use e abuse!

Agradeço ao meu parceiro de Pair Programming Juliano Fritz que me ajudou a montar essa configuração.

Há braços e até o próximo Direto ao Ponto!

Thiago Luna - Linkedin

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

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay