{"id":4006,"date":"2023-05-11T22:33:43","date_gmt":"2023-05-12T01:33:43","guid":{"rendered":"https:\/\/www.magenteiro.com\/blog\/?p=4006"},"modified":"2025-02-19T20:11:20","modified_gmt":"2025-02-19T23:11:20","slug":"xdebug-phpstorm-vscode-como-configurar","status":"publish","type":"post","link":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/","title":{"rendered":"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o"},"content":{"rendered":"\n<p>Xdebug \u00e9 uma extens\u00e3o PHP. Ela permite que aplica\u00e7\u00f5es desta linguagem se conectem a uma IDE, permitindo pausar e depurar a mesma em tempo de execu\u00e7\u00e3o.<\/p>\n\n\n\n<p>Apesar de ser uma ferramenta quase indispens\u00e1vel na vida do desenvolvedor moderno, quase ningu\u00e9m usa. &#x1f92f;<\/p>\n\n\n\n<p>A desculpa \u00e9 sempre a mesma: &#8220;nunca consigo configurar&#8221;. Tanto para usu\u00e1rios do PhpStorm como aqueles que usam Visual Studio Code (VsCode).<\/p>\n\n\n\n<p>Neste artigo vamos entender melhor como ele funciona. Tamb\u00e9m vamos ver como configurar e como resolver problemas comuns da sua configura\u00e7\u00e3o.<\/p>\n\n\n\n<p>Para os fins deste artigo, usaremos o XDebug 3.<\/p>\n\n\n\n<div class=\"wp-block-yoast-seo-table-of-contents yoast-table-of-contents\"><h2>Acesso r\u00e1pido<\/h2><ul><li><a href=\"#h-como-o-xdebug-funciona\" data-level=\"2\">Como o Xdebug funciona<\/a><\/li><li><a href=\"#h-como-saber-se-o-xdebug-esta-ativo\" data-level=\"2\">Como saber se o Xdebug est\u00e1 ativo<\/a><\/li><li><a href=\"#h-configuracoes-do-xdebug-onde-e-como-mudar\" data-level=\"2\">Configura\u00e7\u00f5es do Xdebug. Onde e como mudar.<\/a><\/li><li><a href=\"#h-configuracao-do-vscode-com-xdebug-3\" data-level=\"2\">Configura\u00e7\u00e3o do VsCode com Xdebug 3<\/a><ul><li><a href=\"#h-para-usuarios-windows-e-wsl\" data-level=\"3\">Para usu\u00e1rios Windows e WSL<\/a><\/li><\/ul><\/li><li><a href=\"#h-no-phpstorm\" data-level=\"2\">No PhpStorm<\/a><\/li><li><a href=\"#h-troubleshooting-como-saber-se-o-servidor-consegue-se-conectar-ao-xdebug\" data-level=\"2\">Troubleshooting: Como saber se o servidor consegue se conectar ao Xdebug?<\/a><\/li><li><a href=\"#h-onde-obter-mais-detalhes-e-o-debug-com-magento\" data-level=\"2\">Onde obter mais detalhes? E o Debug com Magento?<\/a><\/li><\/ul><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 id=\"h-como-o-xdebug-funciona\">Como o Xdebug funciona<\/h2>\n\n\n\n<p>Esteja voc\u00ea usando o PHP no Docker, WSL, ou mesmo na sua pr\u00f3pria m\u00e1quina, \u00e9 importante que a extens\u00e3o do XDebug esteja <strong>ativada<\/strong>.<\/p>\n\n\n\n<p>Somente assim ele poder\u00e1 funcionar junto com seus arquivos PHP em tempo de execu\u00e7\u00e3o.<\/p>\n\n\n\n<p>Uma vez que ele \u00e9 executado e est\u00e1 ativo, ele se conectar\u00e1 \u00e0 m\u00e1quina especificada em <code>xdebug.client_host<\/code> no seu PHP.<\/p>\n\n\n\n<h2 id=\"h-como-saber-se-o-xdebug-esta-ativo\">Como saber se o Xdebug est\u00e1 ativo<\/h2>\n\n\n\n<p>Para saber confirmar se a extens\u00e3o est\u00e1 ativa no php, basta digitar <code>php -v<\/code>.<\/p>\n\n\n\n<p>Com isso podemos ver n\u00e3o apenas a vers\u00e3o do PHP mas tamb\u00e9m <strong>se o Xdebug foi iniciado<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\" id=\"php-v-xdebug\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v.jpg\"><img loading=\"lazy\" width=\"1000\" height=\"193\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v.jpg\" alt=\"php -v mostrando que o xdebug est\u00e1 ativo\" class=\"wp-image-4008\" title=\"php -v mostrando que o xdebug est\u00e1 ativo\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v.jpg 1000w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v-250x48.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v-700x135.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v-768x148.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v-760x147.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v-500x97.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-php-v-120x23.jpg 120w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p>No entanto, sua extens\u00e3o pode estar carregada, <strong>mas<\/strong> <strong>pode n\u00e3o estar ativada<\/strong>.<\/p>\n\n\n\n<h2 id=\"h-configuracoes-do-xdebug-onde-e-como-mudar\">Configura\u00e7\u00f5es do Xdebug. Onde e como mudar.<\/h2>\n\n\n\n<p>Uma vez que a extens\u00e3o est\u00e1 carregada, \u00e9 preciso realizar configura\u00e7\u00f5es adicionais. Voc\u00ea precisar\u00e1 especificar: <\/p>\n\n\n\n<ul><li>quando o xdebug dever\u00e1 interceptar a execu\u00e7\u00e3o do c\u00f3digo<\/li><li>para qual m\u00e1quina ele deve enviar informa\u00e7\u00f5es<\/li><li>em que porta<\/li><li>entre outras coisas \ud83d\ude42 <\/li><\/ul>\n\n\n\n<p>Todas estas configura\u00e7\u00f5es podem ser definidas no php.ini ou em arquivos de configura\u00e7\u00e3o .ini carregados adicionalmente.<\/p>\n\n\n\n<p>Ao digitar <code>php -i | grep -i xdebug<\/code> voc\u00ea ter\u00e1 uma lista das configura\u00e7\u00f5es carregadas por ele.<\/p>\n\n\n\n<p>Veja alguns exemplos:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ php -i | grep -i xdebug\nxdebug.auto_trace => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)\nxdebug.cli_color => 0 => 0\nxdebug.client_discovery_header => no value => no value\nxdebug.client_host => host.docker.internal => host.docker.internal\nxdebug.client_port => 9003 => 9003\nxdebug.cloud_id => no value => no value\n...<\/pre>\n\n\n\n<p>Geralmente um arquivo .ini \u00e9 carregado separadamente com as configura\u00e7\u00f5es do xdebug. Basta alterar este arquivo e reiniciar o servidor web para alter\u00e1-las.<\/p>\n\n\n\n<p>Voc\u00ea tamb\u00e9m pode adicionar\/mapear um novo arquivo .ini a um dos diret\u00f3rios que o PHP busca arquivos de configura\u00e7\u00e3o.<\/p>\n\n\n\n<p>Para listar esses diret\u00f3rios, basta digitar <code>php --ini<\/code>, como no exemplo abaixo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini.jpg\"><img loading=\"lazy\" width=\"700\" height=\"284\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-700x284.jpg\" alt=\"php --ini mostrando arquivos ini adicionais\" class=\"wp-image-4009\" title=\"php --ini mostrando arquivos ini adicionais\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-700x284.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-250x101.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-768x311.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-760x308.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-500x203.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini-120x49.jpg 120w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/php-ini.jpg 1000w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<p>Sendo assim, ao adicionar um arquivo .ini a um dos diret\u00f3rios marcados em verde acima, voc\u00ea pode alterar as configura\u00e7\u00f5es e par\u00e2metros do xdebug. Exemplo:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"99-xdebug.ini\" data-enlighter-group=\"m1\">xdebug.mode=debug<\/pre>\n\n\n\n<p>Isso iria alterar o valor da configura\u00e7\u00e3o do par\u00e2metro <code>xdebug.mode<\/code>. Para confirmar se a configura\u00e7\u00e3o foi aplicada, digite <code>php -i | grep -i xdebug.mode<\/code>. Lembre-se de reiniciar seu servidor web todas as vezes que alterar uma configura\u00e7\u00e3o php.<\/p>\n\n\n\n<p>Xdebug e suas configura\u00e7\u00f5es ideais iniciais<\/p>\n\n\n\n<p>Sempre que estou iniciando a configura\u00e7\u00e3o do Xdebug em um projeto, fa\u00e7o ela de forma a ter ele sendo executado em todas as requisi\u00e7\u00f5es. Isto porque podemos configurar o Xdebug para ser iniciado somente no caso da exist\u00eancia de determinado cookie. Mas isso abriria margem para erros na configura\u00e7\u00e3o do navegador.<\/p>\n\n\n\n<p>Sendo assim, fa\u00e7o sempre uma <em>safe config<\/em> antes de otimizar a forma como vou inici\u00e1-lo.<\/p>\n\n\n\n<p>No Xdebug 3, costumo deixar meu .ini acima da seguinte forma:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"Com Docker\" data-enlighter-group=\"m2\">xdebug.mode=debug\nxdebug.start_with_request=yes\nxdebug.discover_client_host=0\nxdebug.client_host=host.docker.internal\nxdebug.port=9003\nxdebug.connect_timeout_ms=2000\n<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"Sem Docker\" data-enlighter-group=\"m2\">xdebug.mode=debug\nxdebug.start_with_request=yes\nxdebug.discover_client_host=1\nxdebug.client_host=localhost\nxdebug.port=9003\nxdebug.connect_timeout_ms=2000\n<\/pre>\n\n\n\n<p>Acima voc\u00ea viu os exemplos de configura\u00e7\u00e3o do xdebug com e sem o uso de docker. No segundo caso, o xdebug tentar\u00e1 identificar o ip da m\u00e1quina do desenvolvedor, e se n\u00e3o conseguir, usar\u00e1 o client_host especificado.<\/p>\n\n\n\n<p>Tamb\u00e9m costumo aumentar o timeout para 2 segundos nas primeiras execu\u00e7\u00f5es e at\u00e9 ter certeza que est\u00e1 tudo funcionando.<\/p>\n\n\n\n<p>Voc\u00ea pode ver uma lista de todas as configura\u00e7\u00f5es poss\u00edveis <a href=\"https:\/\/xdebug.org\/docs\/all_settings\" target=\"_blank\" rel=\"noreferrer noopener\">neste link<\/a>.<\/p>\n\n\n\n<h2 id=\"h-configuracao-do-vscode-com-xdebug-3\">Configura\u00e7\u00e3o do VsCode com Xdebug 3<\/h2>\n\n\n\n<p>Para configurar o Xdebug no Visual Studio Code da Microsoft voc\u00ea precisar\u00e1 de uma ou duas extens\u00f5es adicionais.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode.jpg\"><img loading=\"lazy\" width=\"1000\" height=\"212\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode.jpg\" alt=\"Extens\u00e3o PHP Debug VsCode\" class=\"wp-image-4011\" title=\"Extens\u00e3o VsCode\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode.jpg 1000w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode-250x53.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode-700x148.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode-768x163.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode-760x161.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode-500x106.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/phpdebug-xtension-vscode-120x25.jpg 120w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p>O primeiro passo \u00e9 fazer download da extens\u00e3o oficial do Xdebug, chamada PHP Debug.<\/p>\n\n\n\n<p>Se voc\u00ea estiver utilizando WSL2, tamb\u00e9m precisar\u00e1 da extens\u00e3o WSL da Microsoft.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode.jpg\"><img loading=\"lazy\" width=\"1000\" height=\"188\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode.jpg\" alt=\"Extens\u00e3o WSL VsCode\" class=\"wp-image-4012\" title=\"Extens\u00e3o WSL VsCode\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode.jpg 1000w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode-250x47.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode-700x132.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode-768x144.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode-760x143.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode-500x94.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/wsl-vscode-120x23.jpg 120w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p>Depois clique em Run and Debug (Ctrl + Shift + D); Show all automatic debug configurations; Add configuration; e selecione PHP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-config-vscode.gif\"><img loading=\"lazy\" width=\"675\" height=\"225\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-config-vscode.gif\" alt=\"Configurando Xdebug no Visual Studio Code\" class=\"wp-image-4013\" title=\"Configurando Xdebug no Visual Studio Code\"\/><\/a><\/figure>\n\n\n\n<p>Um arquivo <code>.vscode\/launch.json<\/code> ser\u00e1 criado em seu projeto. Dentro dele, voc\u00ea ver\u00e1 uma configura\u00e7\u00e3o com o nome &#8220;Listen for Xdebug&#8221;. Certifique-se que a porta configurada \u00e9 a mesma que configurou acima, no PHP.<\/p>\n\n\n\n<p>Se estiver usando Docker, tamb\u00e9m precisar\u00e1 configurar o &#8220;pathMappings&#8221; e &#8220;hostname&#8221;, como mostrado na imagem abaixo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1.jpg\"><img loading=\"lazy\" width=\"700\" height=\"343\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-700x343.jpg\" alt=\"Arquivo launch.json do VsCode\" class=\"wp-image-4015\" title=\"Arquivo launch.json do VsCode\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-700x343.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-250x123.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-768x376.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-760x372.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-500x245.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1-120x59.jpg 120w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/launch.json-xdebug-config-docker-wsl-1.jpg 900w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<p>O <code>pathMappings<\/code> deve mapear as pastas que est\u00e3o no servidor docker (lado esquerdo) com aquelas da sua m\u00e1quina, em seu projeto atual (lado direito).<\/p>\n\n\n\n<h3 id=\"h-para-usuarios-windows-e-wsl\">Para usu\u00e1rios Windows e WSL<\/h3>\n\n\n\n<p>Se estiver usando WSL, tamb\u00e9m precisar\u00e1 liberar ele no Windows Defender. Para isso, execute o PowerShell como administrador e digite o comando abaixo:<\/p>\n\n\n\n<p><code>New-NetFirewallRule -DisplayName \u201cWSL\u201d -Direction Inbound -InterfaceAlias \u201cvEthernet (WSL)\u201d -Action Allow<\/code><\/p>\n\n\n\n<p>Isso criar\u00e1 uma nova regra chamada &#8220;WSL&#8221; no seu Windows Defender.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl.jpg\"><img loading=\"lazy\" width=\"700\" height=\"531\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-700x531.jpg\" alt=\"Windows Defender com WSL\" class=\"wp-image-4016\" title=\"Windows Defender com WSL\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-700x531.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-250x190.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-768x583.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-760x577.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-500x379.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl-120x91.jpg 120w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/windows-defender-wsl.jpg 900w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>E pronto. Basta adicionar um breakpoint em alguma linha, e iniciar a escuta do Xdebug clicando em Run and Debug (Ctrl + Shift + D) e clicand no Play (Listen for Xdebug&#8230;).<\/p>\n\n\n\n<h2 id=\"h-no-phpstorm\">No PhpStorm<\/h2>\n\n\n\n<p>Para configurar o Xdebug no <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noreferrer noopener\">PhpStorm<\/a> da Jetbrains \u00e9 bem mais f\u00e1cil e nenhuma extens\u00e3o adicional \u00e9 necess\u00e1ria. As libera\u00e7\u00f5es do firewall s\u00e3o quase autom\u00e1ticas e s\u00e3o solicitadas e configuradas pelo pr\u00f3prio PhpStorm. Basta autorizar quando for pedido.<\/p>\n\n\n\n<p>O primeiro passo \u00e9 se certificar que a IDE est\u00e1 configurada para escutar a porta configurada no php.ini (como vimos acima).<\/p>\n\n\n\n<p>Isso \u00e9 feito nas configura\u00e7\u00f5es da IDE em PHP &gt; Debug &gt; Debug port.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm.jpg\"><img loading=\"lazy\" width=\"700\" height=\"516\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-700x516.jpg\" alt=\"Configura\u00e7\u00f5es do PhpStorm e Xdebug\" class=\"wp-image-4017\" title=\"Configura\u00e7\u00f5es do PhpStorm e Xdebug\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-700x516.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-250x184.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-768x567.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-760x561.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-500x369.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-120x89.jpg 120w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm.jpg 900w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<p>Opcionalmente marque a op\u00e7\u00e3o &#8220;Break at first line in PHP Scripts&#8221;. Ao menos enquanto configura o xdebug pela primeira vez em seu projeto.<\/p>\n\n\n\n<p>Isso \u00e9 suficiente para a maioria dos projetos n\u00e3o-docker.<\/p>\n\n\n\n<p>Basta clicar no \u00edcone de debug para come\u00e7ar a escutar conex\u00f5es, deixando-o verde.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"107\" height=\"99\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-toggle-phpstorm-1.gif\" alt=\"\u00cdcone de debug PhpStorm\" class=\"wp-image-4019\" title=\"\u00cdcone de debug PhpStorm - Clique para inciar o debug\"\/><\/figure>\n\n\n\n<p>Se estiver usando Docker, precisar\u00e1 mapear uma vari\u00e1vel de ambiente <code>PHP_IDE_CONFIG<\/code> com o nome do servidor configurado no PhpStorm, como mostro nas imagens abaixo.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"compose.dev.yaml\" data-enlighter-group=\"m3\">services:\n  phpfpm:\n    volumes: *appvolumes\n    environment:\n      PHP_IDE_CONFIG: \"serverName=MeuDocker\"<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings.jpg\"><img loading=\"lazy\" width=\"700\" height=\"445\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-700x445.jpg\" alt=\"Configura\u00e7\u00f5es de Server Mapping do PhpStorm\" class=\"wp-image-4020\" title=\"Configura\u00e7\u00f5es de Server Mapping do PhpStorm\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-700x445.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-250x159.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-768x488.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-760x483.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-500x318.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings-120x76.jpg 120w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-phpstorm-settings.jpg 1000w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n\n\n<h2 id=\"h-troubleshooting-como-saber-se-o-servidor-consegue-se-conectar-ao-xdebug\">Troubleshooting: Como saber se o servidor consegue se conectar ao Xdebug?<\/h2>\n\n\n\n<p>\u00c9 comum que problemas de firewall, rede, ou mesmo da IDE impe\u00e7am o sucesso da nossa configura\u00e7\u00e3o Xdebug.<\/p>\n\n\n\n<p>Uma forma simples de testar isso \u00e9 usando o netcat e ping na m\u00e1quina que est\u00e1 executando nossa aplica\u00e7\u00e3o PHP.<\/p>\n\n\n\n<p>Em m\u00e1quinas linux, ou docker, voc\u00ea talvez precise instalar estas ferramentas. Para isso, digite:<\/p>\n\n\n\n<p><code>apt update &amp;&amp; apt install -y inetutils-ping netcat<\/code><\/p>\n\n\n\n<p>Depois, para testar, certifique-se que sua IDE (PhpStorm, VsCode, etc) est\u00e1 escutando e esperando conex\u00f5es Xdebug.<\/p>\n\n\n\n<p>Por fim, no servidor da aplica\u00e7\u00e3o, digite:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ nc -vz host.docker.internal 9003\nConnection to host.docker.internal (192.168.65.254) 9003 port [tcp\/*] succeeded!<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ ping host.docker.internal\nPING host.docker.internal (192.168.65.254): 56 data bytes\n64 bytes from 192.168.65.254: icmp_seq=0 ttl=62 time=1.617 ms\n64 bytes from 192.168.65.254: icmp_seq=1 ttl=62 time=1.768 ms<\/pre>\n\n\n\n<p>Ambos os comandos devem mostrar alguma forma de sucesso ao se conectar na m\u00e1quina do desenvolvedor. Se isso n\u00e3o acontecer, \u00e9 poss\u00edvel que algo esteja errado.<\/p>\n\n\n\n<p>No lugar de <code>host.docker.internal<\/code> use o host configurado no php.ini, como vimos acima.<\/p>\n\n\n\n<p>Note que, em alguns casos, o comando acima apenas mostrar\u00e1 que a conex\u00e3o est\u00e1 aberta ((?) hpopen), o que j\u00e1 \u00e9 suficiente.<\/p>\n\n\n\n<h2 id=\"h-onde-obter-mais-detalhes-e-o-debug-com-magento\">Onde obter mais detalhes? E o Debug com Magento?<\/h2>\n\n\n\n<p>Voc\u00ea pode assistir a uma live que fiz sobre o assunto no v\u00eddeo abaixo.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Magento com Docker no Windows - Tutorial Passo a Passo\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ZBs2q85Kwl8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Se preferir, tamb\u00e9m temos uma se\u00e7\u00e3o completa sobre Docker e Docker no Windows, no <a href=\"https:\/\/magenteiro.com\/magento2\">Magento 2: O Curso<\/a> (do Magenteiro.com).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows.jpg\"><img loading=\"lazy\" width=\"700\" height=\"605\" src=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-700x605.jpg\" alt=\"\" class=\"wp-image-4021\" srcset=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-700x605.jpg 700w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-250x216.jpg 250w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-768x664.jpg 768w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-760x657.jpg 760w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-500x432.jpg 500w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows-120x104.jpg 120w, https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/magento2-debug-windows.jpg 1000w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n\n\n<p>Espero que tenha gostado. Mais que isso, espero nunca mais ver voc\u00ea usando um <code>echo \"passou aqui\";<\/code>.<\/p>\n\n\n\n<p>Se puder, compartilhe este artigo com outros desenvolvedores que ainda fazem isso.<\/p>\n\n\n\n<p>Grande abra\u00e7o e at\u00e9 a pr\u00f3xima.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"Xdebug \u00e9 uma extens\u00e3o PHP. Ela permite que aplica\u00e7\u00f5es desta linguagem se conectem a uma IDE, permitindo pausar e depurar [&hellip;]","protected":false},"author":1,"featured_media":4022,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[27,25],"tags":[118,3,82,45,41,104,54,60,68,29,151,150],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v19.0 (Yoast SEO v19.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Xdebug no VsCode ou PhpStorm - Fa\u00e7a funcionar!<\/title>\n<meta name=\"description\" content=\"Entenda como funciona, como testar e como configurar o Xdebug 3 com PhpStorm, VsCode, com ou sem Docker.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o\" \/>\n<meta property=\"og:description\" content=\"Entenda como funciona, como testar e como configurar o Xdebug 3 com PhpStorm, VsCode, com ou sem Docker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\" \/>\n<meta property=\"og:site_name\" content=\"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/magenteiro\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-12T01:33:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-19T23:11:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-opt.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"480\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ricardo Martins\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@magenteiro\" \/>\n<meta name=\"twitter:site\" content=\"@magenteiro\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ricardo Martins\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\",\"name\":\"Magenteiro\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/magenteiro\",\"https:\/\/www.linkedin.com\/company\/magenteiro\",\"https:\/\/www.youtube.com\/magenteiro\",\"https:\/\/facebook.com\/magenteiro\",\"https:\/\/twitter.com\/magenteiro\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png\",\"contentUrl\":\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png\",\"width\":787,\"height\":149,\"caption\":\"Magenteiro\"},\"image\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#website\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/\",\"name\":\"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1\",\"description\":\"Artigos t\u00e9cnicos, tutoriais e muitos v\u00eddeos e cursos sobre Magento. Aqui voc\u00ea encontra dicas para lojistas e desenvolvedores feitos por quem entende do assunto.\",\"publisher\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.magenteiro.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\",\"name\":\"Xdebug no VsCode ou PhpStorm - Fa\u00e7a funcionar!\",\"isPartOf\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#website\"},\"datePublished\":\"2023-05-12T01:33:43+00:00\",\"dateModified\":\"2025-02-19T23:11:20+00:00\",\"description\":\"Entenda como funciona, como testar e como configurar o Xdebug 3 com PhpStorm, VsCode, com ou sem Docker.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.magenteiro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\"},\"author\":{\"name\":\"Ricardo Martins\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150\"},\"headline\":\"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o\",\"datePublished\":\"2023-05-12T01:33:43+00:00\",\"dateModified\":\"2025-02-19T23:11:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/\"},\"wordCount\":1259,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\"},\"keywords\":[\"Avan\u00e7ado\",\"desenvolvimento\",\"dicas\",\"Magento 1\",\"Magento 2\",\"php\",\"phpstorm\",\"Tutoriais Magento\",\"tutorial\",\"videos\",\"vscode\",\"xdebug\"],\"articleSection\":[\"Desenvolvimento\",\"Magento 2\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#respond\"]}],\"accessibilityFeature\":[\"tableOfContents\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150\",\"name\":\"Ricardo Martins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g\",\"caption\":\"Ricardo Martins\"},\"description\":\"\u00c9 desenvolvedor web h\u00e1 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 11 cursos Magento (os principais no magenteiro.com\/cursos) com mais de 14 mil alunos de 105 pa\u00edses, \u00e9 tamb\u00e9m criador do m\u00f3dulo PagSeguro Transparente, usado em mais de 12 mil lojas.\",\"sameAs\":[\"https:\/\/www.magenteiro.com\/\"],\"url\":\"https:\/\/www.magenteiro.com\/blog\/author\/ricardomartins\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Xdebug no VsCode ou PhpStorm - Fa\u00e7a funcionar!","description":"Entenda como funciona, como testar e como configurar o Xdebug 3 com PhpStorm, VsCode, com ou sem Docker.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/","og_locale":"pt_BR","og_type":"article","og_title":"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o","og_description":"Entenda como funciona, como testar e como configurar o Xdebug 3 com PhpStorm, VsCode, com ou sem Docker.","og_url":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/","og_site_name":"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1","article_publisher":"https:\/\/facebook.com\/magenteiro","article_published_time":"2023-05-12T01:33:43+00:00","article_modified_time":"2025-02-19T23:11:20+00:00","og_image":[{"width":960,"height":480,"url":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2023\/05\/xdebug-opt.jpg","type":"image\/jpeg"}],"author":"Ricardo Martins","twitter_card":"summary_large_image","twitter_creator":"@magenteiro","twitter_site":"@magenteiro","twitter_misc":{"Written by":"Ricardo Martins","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.magenteiro.com\/blog\/#organization","name":"Magenteiro","url":"https:\/\/www.magenteiro.com\/blog\/","sameAs":["https:\/\/www.instagram.com\/magenteiro","https:\/\/www.linkedin.com\/company\/magenteiro","https:\/\/www.youtube.com\/magenteiro","https:\/\/facebook.com\/magenteiro","https:\/\/twitter.com\/magenteiro"],"logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png","contentUrl":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png","width":787,"height":149,"caption":"Magenteiro"},"image":{"@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.magenteiro.com\/blog\/#website","url":"https:\/\/www.magenteiro.com\/blog\/","name":"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1","description":"Artigos t\u00e9cnicos, tutoriais e muitos v\u00eddeos e cursos sobre Magento. Aqui voc\u00ea encontra dicas para lojistas e desenvolvedores feitos por quem entende do assunto.","publisher":{"@id":"https:\/\/www.magenteiro.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.magenteiro.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/","url":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/","name":"Xdebug no VsCode ou PhpStorm - Fa\u00e7a funcionar!","isPartOf":{"@id":"https:\/\/www.magenteiro.com\/blog\/#website"},"datePublished":"2023-05-12T01:33:43+00:00","dateModified":"2025-02-19T23:11:20+00:00","description":"Entenda como funciona, como testar e como configurar o Xdebug 3 com PhpStorm, VsCode, com ou sem Docker.","breadcrumb":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.magenteiro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o"}]},{"@type":"Article","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#article","isPartOf":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/"},"author":{"name":"Ricardo Martins","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150"},"headline":"Xdebug: entenda como funciona e como resolver problemas na sua configura\u00e7\u00e3o","datePublished":"2023-05-12T01:33:43+00:00","dateModified":"2025-02-19T23:11:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/"},"wordCount":1259,"commentCount":0,"publisher":{"@id":"https:\/\/www.magenteiro.com\/blog\/#organization"},"keywords":["Avan\u00e7ado","desenvolvimento","dicas","Magento 1","Magento 2","php","phpstorm","Tutoriais Magento","tutorial","videos","vscode","xdebug"],"articleSection":["Desenvolvimento","Magento 2"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.magenteiro.com\/blog\/magento-2\/desenvolvimento-m2\/xdebug-phpstorm-vscode-como-configurar\/#respond"]}],"accessibilityFeature":["tableOfContents"]},{"@type":"Person","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150","name":"Ricardo Martins","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g","caption":"Ricardo Martins"},"description":"\u00c9 desenvolvedor web h\u00e1 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 11 cursos Magento (os principais no magenteiro.com\/cursos) com mais de 14 mil alunos de 105 pa\u00edses, \u00e9 tamb\u00e9m criador do m\u00f3dulo PagSeguro Transparente, usado em mais de 12 mil lojas.","sameAs":["https:\/\/www.magenteiro.com\/"],"url":"https:\/\/www.magenteiro.com\/blog\/author\/ricardomartins\/"}]}},"_links":{"self":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/4006"}],"collection":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/comments?post=4006"}],"version-history":[{"count":7,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/4006\/revisions"}],"predecessor-version":[{"id":4326,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/4006\/revisions\/4326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/media\/4022"}],"wp:attachment":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/media?parent=4006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/categories?post=4006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/tags?post=4006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}