Como instalar o Xdebug 2 para o PHP 5.6, PHP 7.0, PHP 7.1, PHP 7.2, PHP 7.3
Requisitos:
- Ubuntu 18.04 LTS
- Ter seguido as etapas de instalação das diferentes versões do PHP com Nginx deste link
Para instalar o Xdebug no ambiente Nginx com as diferentes versões do PHP, basta seguir os passos abaixo:
Instalando o Xdebug no Ubuntu 18.04 LTS
$ sudo apt install php-xdebug
Configurando o Xdebug no PHP 5.6
$ sudo nano /etc/php/5.6/mods-available/xdebug.ini
Cole a seguinte configuração dentro do arquivo:
[XDebug]
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_log = /var/log/xdebug/xdebug.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.max_nesting_level = 9999
# xdebug.show_error_trace = 1
# xdebug with var_dump ilimited
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
# xdebug with var_dump ilimited
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
Reinicie os seguintes serviços:
$ sudo chmod 664 /var/log/xdebug/xdebug.log
$ sudo chown www-data:www-data /var/log/xdebug/xdebug.log
$ sudo systemctl restart php5.6-fpm
$ sudo chown www-data:www-data /var/log/xdebug/xdebug.log
$ sudo systemctl restart php5.6-fpm
$ sudo systemctl restart nginx
Configurando o Xdebug no PHP 7.0
$ sudo nano /etc/php/7.0/mods-available/xdebug.ini
Cole a seguinte configuração dentro do arquivo:
[XDebug]
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.max_nesting_level = 9999
# xdebug.show_error_trace = 1
Reinicie os seguintes serviços:
$ sudo systemctl restart php7.0-fpm
$ sudo systemctl restart nginx
$ sudo chown www-data:www-data /tmp/xdebug_remote.log
Configurando o Xdebug no PHP 7.1
$ sudo nano /etc/php/7.1/mods-available/xdebug.ini
Cole a seguinte configuração dentro do arquivo:
[XDebug]
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.max_nesting_level = 9999
# xdebug.show_error_trace = 1
Reinicie os seguintes serviços:
$ sudo systemctl restart php7.1-fpm
$ sudo systemctl restart nginx
$ sudo chown www-data:www-data /tmp/xdebug_remote.log
Configurando o Xdebug no PHP 7.2
$ sudo nano /etc/php/7.2/mods-available/xdebug.ini
Cole a seguinte configuração dentro do arquivo:
[XDebug]
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.max_nesting_level = 9999
# xdebug.show_error_trace = 1
Reinicie os seguintes serviços:
$ sudo systemctl restart php7.2-fpm
$ sudo systemctl restart nginx
$ sudo chown www-data:www-data /tmp/xdebug_remote.log
Configurando o Xdebug no PHP 7.3
$ sudo nano /etc/php/7.3/mods-available/xdebug.ini
Cole a seguinte configuração dentro do arquivo:
[XDebug]
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.max_nesting_level = 9999
# xdebug.show_error_trace = 1
Reinicie os seguintes serviços:
$ sudo systemctl restart php7.3-fpm
$ sudo systemctl restart nginx
$ sudo chown www-data:www-data /tmp/xdebug_remote.log
Testar a instalação do Xdebug do PHP 5.6 no Ubuntu 18.04 LTS
Para testar se o Xdebug está funcionando no PHP 5.6, utilize o seguinte comando:
$ php5.6 -i
Acesse o URL https://xdebug.org/wizard.php e cole o resultado do comando acima. Clique no botão "Analyse my phpinfo() output".
Testar a instalação do Xdebug do PHP 7.0 no Ubuntu 18.04 LTS
Para testar se o Xdebug está funcionando no PHP 7.0, utilize o seguinte comando:
$ php7.0 -i
Acesse o URL https://xdebug.org/wizard.php e cole o resultado do comando acima. Clique no botão "Analyse my phpinfo() output".
Testar a instalação do Xdebug do PHP 7.1 no Ubuntu 18.04 LTS
Para testar se o Xdebug está funcionando no PHP 7.1, utilize o seguinte comando:
$ php7.1 -i
Acesse o URL https://xdebug.org/wizard.php e cole o resultado do comando acima. Clique no botão "Analyse my phpinfo() output".
Testar a instalação do Xdebug do PHP 7.2 no Ubuntu 18.04 LTS
Para testar se o Xdebug está funcionando no PHP 7.2, utilize o seguinte comando:
$ php7.2 -i
Acesse o URL https://xdebug.org/wizard.php e cole o resultado do comando acima. Clique no botão "Analyse my phpinfo() output".
Testar a instalação do Xdebug do PHP 7.3 no Ubuntu 18.04 LTS
Para testar se o Xdebug está funcionando no PHP 7.3, utilize o seguinte comando:
$ php7.3 -i
Acesse o URL https://xdebug.org/wizard.php e cole o resultado do comando acima. Clique no botão "Analyse my phpinfo() output".
Resolvendo problemas com a instalação do Xdebug
Ao executar algum dos comandos dos "testes" acima, caso seja lhe apresentado um erro, verifique quais arquivos existem dentro do caminho /usr/lib/php com o seguinte comando:
$ ls -l /usr/lib/php/
Talvez uma lista com os seguintes diretórios seja exibido, exemplo:
drwxr-xr-x 2 root root 4096 dez 31 14:28 20131226
drwxr-xr-x 3 root root 4096 dez 31 14:28 20151012
drwxr-xr-x 2 root root 4096 dez 31 14:28 20160303
drwxr-xr-x 3 root root 4096 jan 16 20:19 20170718
drwxr-xr-x 2 root root 4096 dez 31 14:28 20180731
Observe que os diretórios com números se referem a data (ANOMESDIA). Observe também que na primeira etapa de configuração do arquivo xdebug.ini no início deste tutorial, há uma configuração de nome zend_extension que aponta o local do arquivo xdebug.so. Modifique este caminho conforme as sugestões apresentadas em /usr/lib/php/ de seu ambiente. Então realize novos testes.
Se mesmo após todas as possibilidades o problema persiste, substitua a palavra zend_extension por zend_extension_ts e realize novos testes.
Comentários