Tutoriais usados:
Instale a versão do php que estiver rodando no servidor, verifique a versão em http://localhost/dashboard/phpinfo.php
Em seguida instale o xdebug para essa versão:
sudo apt install php7.4-xdebug
Verifique na pasta /usr/lib/php
que será criada uma pasta com a data de modificação do dia da instalação:
Dentro desta pasta deve conter o arquivo xdebug.so
, guarde esse caminho para a próxima etapa.
Edite o arquivo php.ini
que encontra na pasta do servidor etc/
e adicione as seguintes linhas:
[xdebug]
zend_extension=<Caminho do arquivo xdebug.so> # Substitua pelo caminho do seu arquivo
xdebug.client_port=9000
xdebug.mode=debug
xdebug.start_with_request = yes
Exemplo
Reinicie o servidor utilizando o manager do XAMPP
No VSCODE:
Crie o arquivo no root do projeto .vscode/settings.json
com o seguinte dado:
{
"php.version": "7.4.26",
"php.validate.executablePath": "/opt/lampp/bin/php", # Caminho do executável do PHP no servidor
"php.debug.executablePath": "/opt/lampp/bin/php", # Caminho do executável do PHP no servidor
}
Isso irá permitir o VSCODE utilizar o PHP do servidor para rodar os códigos e não o php do sistema.
Crie o arquivo no root do projeto .vscode/launch.json
com o seguinte dado:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch built-in server and debug",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-S",
"localhost:8000",
"-t",
"."
],
"port": 9000,
"serverReadyAction": {
"action": "openExternally"
}
}
]
}
Isso irá permitir que as extensões do XDBUG do vscode consigam conectar com o xdebug do projeto.
Assim quando a gente for no debuger e executar o script Launch built-in server and debug
poderemos fazer o debug da aplicação normalmente.