Come attivare XDebug su XAMPP

Procedura passo-passo per installare XDebug 3 nella piattaforma XAMPP sia in ambiente Windows che Linux Ubuntu e integrarlo in NetBeans.

"Application server, database server, FTP server" Photo by Christina @ wocintechchat.com on Unsplash

immagine dell'autore dell'articolo

Scritto da: Alberto

Una vita nell'informatica, per lavoro e per passione.
agsdix-far fa-calendar-alt
Data pubblicazione: 8 Gennaio 2017
Categorie: XAMPP
agsdix-far fa-comments

php 8.1.25

Questo articolo è stato modificato l’ 8/11/2025 con l’inserimento del seguente paragrafo

Cosa cambia con php 8.1.25 e Xampp 8.1.25-0 su Linux Ubuntu

Con PHP 8.1.25 e la conseguente versione di Xampp, il file xdebug.so non è più installato di default.

Per la sua installazione suggerisco di:

  • sul server Ubuntu: avviare il web server Apache di XAMPP;
  • aprire un browser, andare sulla pagina http://localhost/dashboard/phpinfo.php e copiare l’intero contenuto della pagina negli appunti;
  • andare sul sito di Xdebug e in particolare sulla pagina con il wizard per scaricare la versione corretta di xdebug;
  • incollare gli appunti (con l’ouput della pagina phpinfo.php) nell’apposito spazio della pagina del wizard;
  • cliccare sul bottone [Analyse my phpinfo() ouput] e seguire le istruzioni.

In sostanza si deve eseguire la seguente procedura:

  • installare i prerequisiti per compilare le estensioni PHP con il comando sudo apt-get install php-dev autoconf automake da cartella root.
  • scaricare i sorgenti di Xdebug3 (la versione più recente alla data è la xdebug-3.4.7.tgz) dal sito di Xdebug (il link è nelle istruzioni del wizard), ad esempio nella cartella /home/utente/Scaricati
  • unzippare il file con il comando tar -xvzf xdebug-3.4.7.tgz (viene creata la cartella xdebug-3.4.7)
  • spostarsi nella nuova cartella con il comando cd xdebug-3.4.7
  • generare l’estensione PHP debug.so con i seguenti comandi: (al termine viene generato il file xdebug.so nella cartella modules; prestare attenzione al fatto che vengono utilizzati il comado phpize e il file di configurazione php-config specifici di XAMPP).
/opt/lampp/bin/phpize
./configure --with-php-config=/opt/lampp/bin/php-config
make
  • copiare il file generato xdebug.so nella directory appropriata di Xampp con il comando cp modules/xdebug.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20210902/ (o simile)
  • Inserire le seguenti dichiarazioni nel file /opt/lampp/etc/php.ini, subito sotto la riga ;zend_extension=opcache.so
zend_extension = xdebug.so

[XDebug]
xdebug.mode=debug
xdebug.log="/opt/lampp/temp/xdebug_remote.log"
xdebug.client_host="192.168.xxx.xxx"
xdebug.idekey="netbeans.xdebug"

Dove xdebug.client_host richiede l’indirizzo IP del computer dov’è installato l’IDE che usera Xdebug e xdebug.idekey richiede il nome della connessione (nel caso di NetBeans è appunto “netbeans.xdebug”).

  • riavviare il server apache
  • per controllare il buon esisto della installazione, tornare sulla pagina http://localhost/dashboard/phpinfo.php , aggiornare i contenuti della pagina e verificare che sia presente la nuova sezione Xdebug con la corretta valorizzazione dei parametri sopra indicati.

xdebug 3

Questo articolo è stato modificato il 6/8/2021 con l’inserimento dei due paragrafi seguenti:
– Cosa cambia con Xdebug 3
– Come attivare XDebug in ambiente Windows/XAMPP

Cosa cambia con Xdebug 3

Il 25/11/2020 è stata rilasciata la versione 3.0.0. di Xdebug.

Le novità introdotte con questa versione sono descritte nella pagina Upgrading from Xdebug 2 to 3 di xdebug.org. In sostanza, cambiano:

  • La porta di comunicazione predefinita, che passa da 9000 a 9003;
  • La modalità di attivazione di Xdebug.

Configurare l’IDE per l’utilizzo della porta 9003

L’IDE in uso dev’essere configurato per l’utilizzo della porta 9003.

Nel caso di NetBeans, selezionare le voci di menu Tools > Options, poi cliccare sulla voce PHP e infine sul tab Debugging. Impostare la Debugger port al valore 9003 e salvare cliccando sul bottone OK:

Form delle opzioni di debugging del tool Apache NetBeans IDE 12.0
Form delle opzioni di debugging del tool Apache NetBeans IDE 12.0

Impostare la modalità di attivazione di Xdebug

Con la versione 3 di Xdebug sono diventati obsoleti numerosi parametri di configurazione, ed in particolare il parametro xdebug.remote_enable. Al posto di questo parametro, nel file C:\xampp\php\php.ini deve essere inserito il nuovo parametro xdebug.mode:

[Xdebug]
xdebug.mode=debug

Come attivare XDebug in ambiente Windows/XAMPP

Metodo suggerito da XAMPP

XAMPP fornisce una guida su come attivare XDebug. Per accedere alla guida:

  • aprire un browser e aprire la pagina http://localhost;
  • nella pagina di benvenuto di XAMPP cliccare sulla voce di menu HOW-TO Guides
  • cliccare sul link Activate and Use Xdebug e seguire le istruzioni fornite

Per verificare il buon esito:

  • aprire la pagina http://localhost/dashboard/phpinfo.php;
  • cercare la parola “xdebug” all’interno della pagina. Se tutto è andato come previsto, nella pagina sarà presente una sezione con tutte le informazioni relative all’installazione di xdebug.

Procedimento alternativo

Se qualcosa non ha funzionato con metodo suggerito da XAMPP, provare con il seguente procedimento:

  • verificare se nella cartella C:\xammp\php\ext è presente un file php_xdebug*.dll. Se non è presente:
    • aprire la pagina http://localhost/dashboard/phpinfo.php e cercare nella sezione Core, la versione di PHP attiva;
    • scaricare il file .dll più recente di XDebug per la versione di PHP in uso (ad esempio: php_xdebug-3.0.4-8.0-vs16-x86_64.dll per la versione 8.0 di PHP) dalla pagina downloads del sito xdebug.org;
    • spostare il file nella cartella C:\xammp\php\ext
  • modificare il file C:\xampp\php\php.ini aggiungendo in coda le seguenti istruzioni (il nome del file .dll deve corrispondere a quello scaricato nello step precedente):
zend_extension = "C:\xampp\php\ext\php_xdebug-3.0.4-8.0-vs16-x86_64.dll"
[Xdebug]
xdebug.mode=debug
  • riavviare il web server Apache;
  • controllare sulla pagina http://localhost/dashboard/phpinfo.php l’esito dell’attività:
    • cercare la parola “xdebug” all’interno della pagina. Se tutto è andato come previsto, nella pagina sarà presente una sezione con tutte le informazioni relative all’installazione di xdebug:
Sezione xdebug (versione 3) della pagina phpinfo
Sezione xdebug (versione 3) della pagina phpinfo

Come attivare XDebug in ambiente Linux Ubuntu/XAMPP

Se hai necessità di attivare XDebug su un server Ubuntu con un ambiente XAMPP e hai provato a cercare supporto in rete, avrai già avuto modo di scoprire che in Internet ci sono ben poche informazioni su come farlo. E quelle che ci sono, sono tra loro discordanti, se non errate.

Ecco allora qui di seguito le istruzioni su come attivare XDebug in una installazione XAMPP su Ubuntu.

Individuare il path dell’estensione xdebug.so

L’installazione di XAMPP comprende già l’estensione XDebug, perciò NON dovrà essere scaricata sul server tramite un comando del tipo:

sudo apt-get install php-xdebug

Invece, va individuato il percorso dove è stato scaricato il file xdebug.so da parte dell’installazione XAMPP, ad esempio tramite il comando “find” da terminale (il percorso standard dove viene installato xampp è /opt/lampp/):

Fig. 1 – Trovare il percorso di installazione di XDebug con il comando find

Modificare il file php.ini

Il percorso dove risiede il file xdebug.so va indicato all’interno del file /opt/lampp/etc/php.ini come zend_extension (importante: NON come php extension – vedi la terza riga commentata di fig. 2):

Fig. 2 – Prima modifica al file php.ini

La modifica in formato testuale:

zend_extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

La seconda modifica al file /opt/lampp/etc/php.ini riguarda i parametri di XDebug. I parametri da indicare sono i seguenti:

Fig. 3 – Seconda modifica al file php.ini
  • Il parametro remote_enable attiva il debug.
  • Il parametro remote_log indica il file di log dove viene memorizzato lo scambio di informazioni tra IDE e web server. Se i breakpoint non vengono riconosciuti, nel file di log potrebbero esserci utili indicazioni sul perché del mancato funzionamento.
  • Il parametro remote_host indica l’indirizzo IP del computer dove risiede l’IDE (“localhost”, oppure “127.0.0.1” se l’IDE risiede sul computer dov’è installato xampp).
  • Se l’IDE è configurato sulla porta standard (vedi ad esempio la configurazione di NetBeans nei link utili in fondo al post), il parametro remote_port può essere omesso.
    Tenere a mente che da XDebug 3 la porta standard è passata da 9000 a 9003.

Ecco i parametri in formato testuale:

[XDebug]
xdebug.remote_enable=1
xdebug.remote_log="/opt/lampp/temp/xdebug_remote.log"
xdebug.remote_host="192.168.1.3"
;xdebug.remote_port=9000

Verificare che tutto funzioni come atteso

Per verificare se l’estensione xdebug.so è attiva, accedere alla pagina: http://nomesito/dashboard/phpinfo.php. Nella pagina di output deve comparire la sezione con i parametri di XDebug:

Fig. 4 – Finestra di output di phpinfo()

Nell’esempio sono state utilizzate le seguenti versioni software:
IDE:

  • Product: NetBeans IDE 8.1 (Build 201510222201)
  • Java: 1.8.0_60; Java HotSpot(TM) 64-Bit Server VM 25.60-b23
  • Runtime: Java(TM) SE Runtime Environment 1.8.0_60-b27
  • System: Windows 8.1 version 6.3

Web Server:

  • Product: XAMPP Linux 64bit v5.6.28 (PHP version 5.6.28)
  • XDebug: Zend Scripting Language Engine v2.6.0 con XDebug v2.2.5
  • System: Ubuntu 16.04 LTS 64bit, con ambiente grafico Unity

Risorse online

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *