0

Xdebug 3 no PHPStorm com PHP 7.4

#Linux #Docker #PHP
Thiago Melo
Thiago Melo

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.


Clique aqui para ver este artigo com as imagens publicadas.


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...

Clique aqui para ver a imagem


Na tela seguinte, em Configuration > Server, clicar no ícone `…` para adicionar um novo server.

Clique aqui para ver a imagem


5- Preencher conforme imagem abaixo:

Clique aqui para ver a imagem.


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 conforma imagem acima.


6- Após essas configurações, voltar para a tela da Imagem 2

Clicar em Validate.

Clique aqui para ver a imagem


O resultado esperado deve ser conforme imagem abaixo:

Clique aqui para ver a imagem


Com isso, o Xdebug deverá funcinar.


Clique aqui para ver um exemplo de container configurado como descrito neste post.

Use e abuse!


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


Thiago Luna - Linkedin

0
6

Comentários (0)

None

Brasil