Con Xdebug 3, è il processo PHP a collegarsi all’IDE. Se un breakpoint Laravel non viene raggiunto, controlla prima quale runtime esegue la richiesta, se Xdebug è attivo lì e se può raggiungere PhpStorm.
Configurazione per PHP e IDE sulla stessa macchina
Dopo aver installato e caricato l’estensione compatibile, una configurazione di sviluppo può contenere:
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
Questo esempio presuppone che PHP e PhpStorm condividano lo stesso contesto di rete. Dentro un container, 127.0.0.1 indica il container stesso: il client_host deve invece raggiungere la macchina dell’IDE.
La guida Xdebug allo step debugging descrive trigger e collegamento. Riavvia il processo pertinente quando cambi la sua configurazione.
Mettere PhpStorm in ascolto
Configura la porta del debugger e abilita l’ascolto delle connessioni PHP. Se i percorsi del server differiscono da quelli del progetto locale, imposta il mapping dei file secondo la documentazione PhpStorm.
Posiziona un breakpoint in un percorso semplice, attiva il trigger e richiama quella rotta. Per un comando Artisan, verifica la configurazione CLI: può essere diversa da quella FPM usata dal sito.
Diagnosticare in ordine
Se non arriva alcuna connessione, osserva il log di Xdebug e la raggiungibilità dell’IDE dal runtime. Se la connessione arriva ma i breakpoint non corrispondono, controlla percorso e versione del file eseguito.
Non serve esporre indiscriminatamente la porta del debugger su Internet. È un collegamento di sviluppo da mantenere nel percorso di rete necessario.
Usare il debugger per verificare un’ipotesi
Ispeziona input, stack e passaggi che portano al valore inatteso. La valutazione di un’espressione può eseguire codice con effetti: evita chiamate che modificano dati quando vuoi soltanto osservarli.
Una sessione di debug altera i tempi del processo. Per misurare prestazioni usa un ambiente e strumenti appropriati, separando la ricerca dell’errore dal benchmark.