As instruções que se seguem são para o xampp 1.7.4, mas deve funcionar em versões mais recentes.
Primeiro, descarregar xDebug de xdebug.org
No meu caso, usei a versão xdebug-2.1.4.tgz
Podes também seguir o link: http://xdebug.org/wizard.php e colar o resultado da função phpinfo();
A página deve sugerir a versão correta para o teu sistema.
Descarregar e guardar no ambiente de trabalho:
No terminal:
cd /home/USERNAME/Desktop/
sudo tar -xvzf xdebug-2.1.4.tgz
cd xdebug-2.1.4
sudo /opt/lampp/bin/phpize
Se tudo correr bem deves ter algo parecido a:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Se surgirem erros:
grep: /opt/lampp/include/php/main/php.h: No such file or directory
grep: /opt/lampp/include/php/Zend/zend_modules.h: No such file or directory
grep: /opt/lampp/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
configure.in:3: warning: prefer named diversions
configure.in:3: warning: prefer named diversions
É porque falta instalar Xampp Devel.
Se tiveres feito como eu, em que instalaste a versão comum do xampp, é o que acontece.
Para corrigir esses erros é necessário instalar também Xampp Devel / Xampp Development Package, no meu caso a versão xampp-linux-devel-1.7.4.tar.gz
Descarrega e guarda no ambiente de trabalho.
No terminal:
cd /home/USERNAME/Desktop/
sudo tar xvfz xampp-linux-devel-1.7.4.tar.gz -C /opt
Isto faz com que sejam extraídos os ficheiros do arquivo para /opt
Se tiveres instalado noutra localização, altera /opt para a tua localização.
Agora já deves conseguir completar o primeiro passo indicado em cima (sudo /opt/lampp/bin/phpize).
De seguida, ainda no terminal:
sudo ./configure --enable-xdebug --with-php-config=/opt/lampp/bin/php-config
sudo make
cp modules/xdebug.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626 //Este numero é o resultado do comando executado mais em cima, o teu pode ser diferente
Depois editar /opt/lampp/etc/php.ini
No fim do ficheiro acrescentar:
[zend]
zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
[xdebug]
xdebug.extended_info=1
xdebug.max_nesting_level=1000
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 1
xdebug.remote_enable=1
xdebug.remote_host = "127.0.0.1"
xdebug.idekey="netbeans-xdebug" ;(set it to PHPSTORM is you are using that ide)
xdebug.remote_port=9000
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_log="/opt/lampp/logs/xdebug.log"
xdebug.show_local_vars=1
xdebug.trace_output_dir = "/opt/lampp/tmp"
xdebug.var_display_max_data=1000
xdebug.var_display_max_depth=1
Agora vamos reiniciar os serviços, no terminal:
sudo /opt/lampp/lampp restart
Aqui, voltei a ter um erro:
wrong ELF class: ELFCLASS64
Ao que parece, o erro surge porque estou a correr o Linux Mint 64 Bit, a versão antiga do xampp (porque preciso) que é em 32 bit, e por fim o xdebug que é 64 bit.
Temos de fazer uma recompilação.
No terminal, logo após o comando:
sudo /opt/lampp/bin/phpize
sudo apt-get install g++-multilib
sudo CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure --enable-xdebug --with-php-config=/opt/lampp/bin/php-config
sudo make
Copiar novamente o ficheiro compilado:
cp modules/xdebug.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626
Agora vamos reiniciar os serviços novamente, no terminal:
sudo /opt/lampp/lampp restart
E agora já tenho o xdebug instalado
Boa sorte!
17542 - A minha lista de coisas a fazer depois de instalar o Linux Mint 17.1 Rebecca
13306 - Alterar localização da pasta htdocs no Xampp no Linux
10866 - Instalação de Samba GUI para configuração de redes em ambiente gráfico em Linux
5160 - SJ4000 Full HD Excelente alternativa à GoPro Action Camera