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ść.

Zobacz również: