web 2.0

xdebug mit lampp/xampp auf 64-Bit Server

Online Solution Int - Webentwicklung

Xdebug-logo in xdebug mit lampp/xampp auf 64-Bit Server Wer unter einem 64-Bit Linux System einen Entwicklungsserver mit xampp bzw. lampp aufgesetzt hat, muss leider mit Stolpersteinen rechnen wenn xdebug ergänzt werden soll.
Der Grund ist wohl, dass der Apache eine 32-Bit Version der xdebug.so (extension) erwartet und eine 64-Bit Version mit dieser Meldung zurückweist:

warning: php startup: unable to load dynamic library … wrong elf class: elfclass64 in unknown on line 0

Deswegen müssen wir den Compiler zwingen, eine passende Version zu erstellen. Der Vollständigkeit halber nun eine komplette Step-by-Step Installationsanleitung (getestet mit Ubuntu 64Bit/Server):

Zuerst holen wir uns – sofern noch nicht geschehen – die zu unserem lampp passenden Developer Files von sourceforge.net/projects/xampp/files/ (devels).
sudo tar xzf xampp-linux-devel-1.7.1.tar.gz -C /opt
Als nächstes die aktuellen Sources von xdebug.org/download.php

tar xzf xdebug*
cd xdebug*

Unter Ubuntu ist es meist noch erforderlich, diese Pakete nachzuinstallieren:

sudo apt-get install ia32-libs gcc-multilib

Und noch eine Hand voll exports, die bis zum nächsten Neustart Wirkung haben.

export PATH=/opt/lampp/bin:$PATH
export PATH=/opt/lampp/bin:$PATH
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig
export CC="gcc -m32"
export CXX="g++ -m32"

phpize
./configure --enable-xdebug --with-php-conig=/opt/lampp/bin/php-config
--x-libraries=/usr/lib --target=i686-pc-linux
make
make install
sudo cp modules/xdebug.so /opt/lampp/lib/php/extensions/
make test

War der Test erfolgreich, dann noch die php.ini editieren. Dazu beispielsweise…

nano /opt/lampp/etc/php.ini

So sollte die neue Zeile aussehen (ggf. vorherige Einstellung für zend_extension überschreiben!):

zend_extension=”/opt/lampp/lib/php/extensions/xdebug.so”

Und dann überprüfen:
sudo /opt/lampp/lampp restart
/opt/lampp/bin/php -i | grep xdebug

Leave a Reply