Xdebug je prostředek pro ladění php skriptů. Jelikož používám vývojové prostředí NetBeans a tam je Xdebug výchozím programem pro ladění, tak popíšu jeho základní nastavení pro toto prostředí.
Instalace
Po instalaci LAMP serveru a PHP 7.0 doinstalujeme balík php7.0-dev
apt-get install -y php7.0-dev
a zkontrolujeme, zda nám funguje phpize
phpize -v
měl by nám vypsat tyto informace
Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012
Pokud máme vytvořen soubor info.php pro výpis nastavení PHP na serveru, zobrazíme tento výpis v prohlížeči a celý ho zkopírujeme. V prohlížeči přejdeme na stránku Xdebug Wizard, která nám zkontroluje náš výpis konfigurace PHP a vypíše postup pro instalaci Xdebug. Postup má několik kroků. Já zde u čísla verze uvádím na konci “x”, při aplikaci postupu si “x” nahradíme aktuálním číslem verze:
- pro stažení poslední verze Xdebug se přepneme do složky root
cd /root
a stáhneme poslední verzi Xdebug
wget http://xdebug.org/files/xdebug-2.4.x.tgz
- staženou verzi rozbalíme
tar -xvzf xdebug-2.4.x.tgz
- přepneme se do složky s Xdebug
cd xdebug-2.4.x
- spustíme phpize zadáním
phpize
- spustíme konfiguraci zadáním
./configure
- spustíme kompilaci zadáním
make
- zkompilovaný Xdebug zkopírujeme zadáním
cp modules/xdebug.so /usr/lib/php/20151012
- pokud máme nainstalovanou starší verzi Xdebug, editujeme konfiguraci Xdebug v souboru /etc/php/7.0/mods-available/xdebug.ini
nano /etc/php/7.0/mods-available/xdebug.ini
kde zakomentujeme původní řádek a přidáme následující řádky# pokud je přítomen, tento řádek zakomentujeme # zend_extension=xdebug.so # cesta ke zkopírovanému souboru zend_extension = /usr/lib/php/20151012/xdebug.so # nastavíme idkey stejné jako v NetBeans xdebug.idekey=netbeans-xdebug # zapneme vzdálené ladění xdebug.remote_enable=on # nastavíme port pro komunikaci xdebug.remote_port=9000 # nastavíme IP adresu počítače s NetBeans xdebug.remote_host=192.168.1.2
- pokud jsme ještě neměli nainstalovaný Xdebug, konfigurujeme přímo nastavení PHP v souboru /etc/php/7.0/apache2/php.ini zadáním
nano /etc/php/7.0/apache2/php.ini
a doplníme konfiguraci pro vzdálené ladění viz výše - nakonec restartujeme Apache server zadáním
systemctl restart apache2