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

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

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

Okay