PHP: Debugging
Debugging in PHP
Il debugging è l’attività di analisi e correzione degli errori presenti in un programma. In PHP disponiamo di strumenti semplici e integrati per osservare variabili, controllare flussi e tracciare eventuali problemi.
Introduzione
Quando uno script non funziona come previsto, è necessario individuare l’origine del problema. In PHP possiamo attivare messaggi di errore più dettagliati, stampare il contenuto delle variabili e utilizzare strumenti esterni come debugger integrati negli editor. Analizziamo i principali strumenti di base.
Uso di var_dump() e print_r()
var_dump()
mostra tipo e valore di una variabile, mentre print_r()
è utile per leggere array e oggetti in forma leggibile.
Codice Esempio: var_dump e print_r

<?php
$numero = 42;
$nomi = ["Mario", "Anna", "Luca"];
var_dump($numero);
echo "<br>";
print_r($nomi);
?>
<!-- Output:
int(42)
Array ( [0] => Mario [1] => Anna [2] => Luca )
-->
Attivare la visualizzazione errori
Per ricevere informazioni più dettagliate sugli errori durante lo sviluppo, è possibile usare error_reporting()
e ini_set()
. Questo aiuta a scoprire avvisi e notice che altrimenti verrebbero ignorati.
Codice Esempio: mostrare tutti gli errori

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
echo $variabile_non_definita;
?>
<!-- Output:
Notice: Undefined variable $variabile_non_definita
-->
Uso di debug_backtrace()
La funzione debug_backtrace()
fornisce informazioni sul percorso di chiamata delle funzioni e può aiutare a capire come si è arrivati a un certo punto del codice.
Codice Esempio: debug_backtrace

<?php
function livello1() {
livello2();
}
function livello2() {
print_r(debug_backtrace());
}
livello1();
?>
<!-- Output (semplificato):
Array
(
[0] => Array ( [file] => /percorso/file.php [line] => 6 [function] => livello2 )
[1] => Array ( [file] => /percorso/file.php [line] => 10 [function] => livello1 )
)
-->
Tabella riassuntiva strumenti base
Funzione | Descrizione | Uso tipico |
---|---|---|
var_dump() |
Mostra tipo e valore dettagliato della variabile. | Debug di valori singoli o oggetti. |
print_r() |
Stampa contenuto leggibile di array e oggetti. | Controllo rapido di strutture dati. |
error_reporting() |
Configura il livello di segnalazione degli errori. | Mostrare notice, warning ed errori durante lo sviluppo. |
debug_backtrace() |
Restituisce informazioni sullo stack delle chiamate. | Analisi dei flussi di esecuzione. |
Considerazioni
Il debugging in PHP parte da strumenti semplici come var_dump()
e print_r()
, ma può includere anche debugger avanzati integrati in IDE come PHPStorm o VSCode con estensioni Xdebug. Durante lo sviluppo è utile visualizzare gli errori, mentre in produzione è fondamentale registrarli in log per motivi di sicurezza.