PHP:
Korzystanie z debugera
Jak to zrobić:
PHP jest wyposażony w interaktywny debugger zwany Xdebug. Oto jak go używać.
Po pierwsze, upewnij się, że masz zainstalowany i skonfigurowany Xdebug w swoim pliku php.ini
:
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-xxxxxxxx/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
Następnie, napisz prosty skrypt PHP z błędem:
<?php
function add($a, $b) {
return $a - $b; // Ups! To powinien być plus, a nie minus
}
$result = add(1, 2);
echo "Wynik to: $result"; // Wynik powinien być 3, a nie -1
Korzystając z IDE takiego jak PhpStorm, ustaw punkt przerwania klikając obok numeru linii. Uruchom debugger i obserwuj, jak zmieniają się zmienne, gdy przeskakujesz przez wykonanie. Gdy przejdziesz przez funkcję add
, zauważysz, że $result
staje się -1, co jest nieoczekiwane.
Dogłębna analiza:
Historycznie, PHP był używany głównie do małych skryptów i debugowanie polegało na dodawaniu instrukcji var_dump()
i print_r()
w kodzie. Z czasem, gdy PHP stał się kluczowym graczem w rozwoju stron internetowych, zaczęto używać bardziej zaawansowanych narzędzi takich jak Xdebug i Zend Debugger.
Alternatywy dla Xdebuga to między innymi pcov i phpdbg. Oferują one różne funkcje, ale mogą nie być tak kompleksowe jak Xdebug. Phpdbg to lekki debugger specyficzny dla PHP, który jest dystrybuowany z PHP od wersji 5.6, a pcov to sterownik pokrycia kodu.
Przy wdrażaniu debugera pamiętaj, że nigdy nie powinieneś zostawiać włączonego debugera na swoim serwerze produkcyjnym, gdyż może to narazić na szwank bezpieczeństwo i spowolnić wydajność.