venerdì 14 maggio 2021

NetBeans 12, PHP 7.4 e X-Debug - Quanto basta per eseguire e debuggare codice PHP

Sono passati tanti anni, e tanto codice è passato sotto il PC. Il mondo è cambiato, la SUN è finita gambe all'aria, la Oracle si è impadronita di Java e MySQL, NetBeans è stato scaricato alla Apache foundation e ci ha messo qualche anno per tornare in marcia dopo che è stato rivisto nei suoi componenti. Ora però fine delle scuse, è ora di tornare a scrivere codice PHP con NetBeans. Io lavoro con Windows, quindi non aspettatevi altro.

La versione di NetBeans da procurarsi e installare è la 12.0 LTS, in modo da garantirsi il supporto e gli aggiornamenti necessari perché le cose funzionino al meglio possibile. Il PHP è il 7.4 che godrà di supporto di sicurezza ancora per un anno e mezzo da quando scrivo questo post, ed ovviamente la versione necessaria di X-Debug per poter debuggare il codice PHP quando necessario. Ma procediamo con ordine.

Qualora non si abbia ancora NetBeans 12 LTS

Ovviamente NetBeans richiede Java (è scritto in Java). Se non si ha un Java SE installato e anche in una ottica di sviluppo di applicazioni Java scaricare e installare la versione Java SE 11 dalla pagina di download della Oracle. Non scaricate l'ultima versione ma preferite sempre le LTS.

Andare alla pagina di download di NetBeans, scaricare con un clic sul relativo pulsante della versione 12.0 LTS e installarlo. Non richiede nessuna azione particolare. Dopo il download, doppio clic per avviare l'installer e avanti-avanti fino al termine dell'installazione. 

Per una guida più dettagliata si può leggere il post sulla preparazione dell'ambiente di sviluppo in Java.

Ora che abbiamo NetBeans come IDE procuriamoci il PHP.

Installiamo PHP

Scherzavo, PHP non si installa, basta estrarre una cartella. Siccome NetBeans riconosce fino alla versione PHP 7.4 quando si creano i progetti, preferiamo questa che sarà ancora supportata per un anno e mezzo sperando che la nuova LTS di NetBeans ci proietti nella versione 8 di PHP.

Andiamo alla pagina di download di PHP scorriamola fino a trovare e scaricare lo zip del PHP 7.4 non thread safe. Al momento del post la più recente (e aggiornata) è la PHP 7.4.19.


Dopo aver scaricato il file Zip, estraiamo il contenuto in una cartella e posizioniamola dove riteniamo più opportuno. Io per esempio l'ho estratta nel mio disco dati G:\PHP\php-7.4.19-nts-Win32-vc15-x64\

Quindi andare nella cartella estratta e rinominare il file php.ini-Development, dato che questo è il nostro ambiente di sviluppo, in php.ini cambiando l'estensione del file.

Leghiamo NetBeans all'interprete PHP

Se abbiamo appena installato NetBeans creare un primo progetto come spiegato nel post di installazione di Java e Netbeans. Quindi in NetBeans andiamo nel menu Tools|Options e clicchiamo sul PHP.


Nella scheda General, fare clic su Browse... ed individuare il php.exe contenuto nella cartella PHP appena estratta.

Scarichiamo X-Debug

Andiamo alla pagina di download di X-Debug e scarichiamo il Windows Binaries adatto alla versione di PHP che abbiamo scaricato prima.

Avendo prima scaricato la versione di PHP php-7.4.19-nts-Win32-vc15-x64.zip, mi servirà ...
la PHP 7.4 VC15 (64bit). Il TS sta per thread safe, ma dato che il mio PHP è non thread safe prendo quella senza il TS.

Si tratta di un file con estensione dll che va copiato dentro la cartellina ext presente nella cartella del PHP appena installato.


Leghiamo X-Debug a PHP

Ricordate il file php.ini nella cartella del PHP appena installato? E' ora di aprirlo con un Notepad++ o un Blocco Note di Windows per modificarlo.


Andare in fondo al file e incollare le seguenti righe di codice:

zend_extension = G:\PHP\php-7.4.19-nts-Win32-vc15-x64\ext\php_xdebug-3.0.4-7.4-vc15-nts-x86_64.dll
xdebug.mode = debug
xdebug.client_host = localhost 
xdebug.client_port = 9000
xdebug.remote_handler = dbgp

Ovviamente la prima riga va personalizzata con il percorso al proprio file dll sul proprio computer e salvare il file.


Vediamo se tutto funziona

Andare in NetBeans e creare un nuovo progetto PHP. Per farlo fare clic sul pulsantenella barra dei pulsanti per aprire il wizard di creazione dei progetti.


Cliccare su PHP in Categories e PHP Application in Projects, quindi fare clic su Next.


Dare un nome al progetto, per esempio InfoPHP e fare clic su Next.


Dal menu a discesa Run As selezionare PHP Built-in Web Server e fare clic su Finish.
NetBeans creerà il progetto e aprirà il nuovo file index.php.


Modificare il file inserendo l'istruzione phpinfo() come nell'immagine sopra.
Quindi salvare tutto con il pulsanteed avviare il progetto facendo clic su.

Si aprirà il browser e visualizzerà la pagina web del progetto al cui interno deve apparire la sezione X-Debug come nell'immagine sotto.


Se non appare, avete sbagliato qualcosa 8P

Note conclusive

Una vota per fermare il Web Server interno di PHP occorreva andare nel task manager di Windows. Adesso lo troviamo nella barra di stato di NetBeans.


Dove c'è scritto Internal WebServer (nomeProgetto) c'è una piccola X. Pigiandola possiamo arrestare il WebServer


Per approfondire l'argomento debug dei progetti PHP con NetBeans è possibile leggere il sempre validissimo post Lavori e Lavoretti: PHP & NetBeans: Debug di codice sorgente PHP con NetBeans.