mercoledì 16 dicembre 2015

Ho installato PHP 7 sotto IIS 7.5 e ora voglio Xdebug

Supponendo di avere già proceduto all'installazione di PHP 7 sotto  IIS 7.5 come spiegato nella relativa guida, e di avere il nostro NetBeans 8.1 per PHP installato e funzionante, vediamo come procedere per mettere in funzione Xdebug.


Le dll Xdebug disponibili
per Windows a seconda della
versione PHP utlizzata
Per prima cosa occorre scaricare la versione giusta di Xdebug a seconda della versione PHP installata. Dalla pagina di download di Xdebug è possibile vedere le varie versioni disponibili per Windows. Analizziamo i nomi dei link alla dll Xdebug scaricabile. Prima di tutto la versione PHP, quindi la versione di Visual C++ utilizzata per la compilazione di PHP, quindi TS per PHP thread safe e nulla per i non thread safe. Per finire tra parentesi la scelta tra la versione 32 bit o 64 bit sempre in base a quella scelta per PHP.


Se seguendo la guida d'installazione di PHP 7 sotto IIS 7 ho scaricato il PHP 7.0.0 VC14 x86 Non Thread Safe, ne consegue che il corrispondente XDebug da scaricare è PHP 7.0 VC14 (32 bit).

La mia cartella ext
Copiare il file .dll, appena scaricato dal sito di Xdebug, nella directory ext che si trova all'interno della cartella in cui ha sede PHP. Ad esempio per me è C:\php-7.0.0-nts-Win32-VC14-x86\ext

Aprire il file php.ini che si trova nella cartella d'installazione di PHP e copiare ed incollare in fondo al documento le seguenti righe, quindi salvare e chiudere il file:

zend_extension = php_xdebug-2.4.0rc3-7.0-vc14-nts.dll
xdebug.remote_enable = on
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp

Il file con estensione .dll può differire, ed è il nome della dll Xdebug scaricata e copiata nella cartella ext.

Xdebug nella php info
Riavviato il web server IIS (vedere le immagini seguenti su come riavviare IIS), e ricaricando il progetto di test prodotto nella guida d'installazione di PHP 7 sotto IIS 7, apparirà tra le info di PHP anche la dll di Xdebug.
Avviare gestione computer dal menu contestuale (tasto destro del mouse)
Entrare nella console di IIS e fare clic su Riavvia

Scheda di configurazione in NetBeans
dedicata al debugging in PHP
In NetBeans 8.1 non occorre fare niente, dato che la scheda Tools|Options|PHP|Debugging è già compilata nel modo opportuno. Da questo momento potrà essere utilizzato NetBeans per avviare delle sessioni di debug del codice PHP come spiegato nel post PHP & NetBeans: Debug di codice sorgente PHP con NetBeans. Il post in questione è la mia personale traduzione dell'originale in inglese presente sul sito di NetBeans. La traduzione risale a NetBeans 7, ma con NetBeans 8 non è cambiato nulla a riguardo.