sabato 23 febbraio 2013

Ambiente di Sviluppo: Installare PHP sotto IIS 7 su una macchina client e creare il primo progetto NetBeans per verificare il funzionamento

15/12/2015 - Procedura verificata anche con IIS7.5 e PHP 7.0.0
La prima cosa da fare è installare IIS7 o comunque verificare che sia installato tutto ciò che serve. A tal fine cliccare su Start | Pannello di Controllo | Programmi e Funzionalità quindi sul link nel menu a sinistra denominato Attivazione o disattivazione delle funzionalità di Windows.
Cerchiamo nell'elenco la voce Internet Information Services e clicchiamo la check box al suo fianco se vuota. Espandiamo le voci come nell'immagine seguente e spuntiamo la voce CGI che per impostazione predefinita è disabilitata.



Installazione di IIS
 Attendere che Windows termini l'installazione di IIS.

Installazione librerie VC14 per PHP 7
Ora che abbiamo IIS, procuriamoci PHP dal sito ufficiale. Dall'indirizzo di php.net dedicato agli eseguibili per windows scaricare l'ultima versione zip di PHP non thread safe. L'immagine sotto è indicativa, la stessa procedura vale per PHP 7.0.0 VC14 x86 Non Thread Safe. L'unica accortezza è assicurarsi di avere le relative librerie C++ redistribuibili di Microsoft VC14, altrimenti IIS restituisce errore 500 quando tenta di utilizzare PHP. Se si utilizza PHP x86, scaricare le librerie vc_redist.x86.exe, mentre per PHP x64 installare la vc_redist.x64.exe.

PHP da scaricare

Dopo aver scaricato il file zip, aprirlo con un doppio clic. Fare clic sul pulsante Estrai tutti i file e scegliere la posizione in cui salvare i file da estrarre. Ovviamente se si è scaricata una versione differente di PHP il nome della cartella può differire. In questo caso ho scelto
C:\php-5.4.12-nts-win32-VC9-x86\
Estrazione dgli eseguibili Windows di PHP appena scaricati
Adesso facciamo in modo che IIS e PHP cooperino. Per prima cosa andare nella cartella in cui sono stati estratti i file PHP e rinominare in php.ini il file php.ini-development. Data la modifica dell'estensione Windows chiede conferma. Cliccare su Si.

Aprire il file php.ini appena rinominato con il nostro editor preferito. Per queste cose apprezzo molto Notepad++. Cercare le 4 righe evidenziate nell'immagine seguente che sono commentate (hanno un ; davanti). Rimuovere il simbolo di commento (cancellare il ;) a queste 4 righe e modificare in 0 il valore per cgi.force_redirect. Alla fine php.ini deve essere come nell'immagine seguente.

Modifiche al file php.ini
Non dimenticare di rimuovere il commento alla riga che indica in quale directory trovare le estensioni di PHP. Cancellare a tal fine il ; che precedere la direttiva extension_dir. In tal modo potremo attivare in qualunque momento le GD, il supporto per mysql, msqli, mbstring e tutto quello che ci occorre. Basta rimuovere il ; che precede l'estensione da attivare e riavviare IIS



Salvare e chiudere il file php.ini.

Aprire il menu Start di Windows e fare clic con il tasto destro del mouse su Computer. Dal menu contestuale scegliere Gestione. Espandere Servizi e applicazioni. Cliccare su Gestione Internet Infromation Server per visualizzarne la console.

La console i Internet Information Server
Fare doppio clic su Mapping gestori, evidenziato nell'immagine precedente. Nell'aria vuota sotto le mappature già presenti fare clic con il tasto destro del mouse e dal menu contestuale fare clic su Aggiungi mapping moduli....
La console Mapping gestori
Nella finestra di dialogo indicare che il modulo sarà eseguito per le richieste che terminano con .php, il modulo è un FastCgiModule, l'eseguibile è il php-cgi.exe che si trova nella cartella in cui è stato estratto PHP e dare un nome di propria scelta al modulo. Alla fine la finestra deve essere come la seguente a meno del percorso al php-cgi.exe che può variare in base alla posizione in cui è stato estratto PHP.

Aggiunta di una mappatura
Fare clic su Restrizioni richieste... e nella scheda Mapping aggiungere la spunta a Richiama gestore solo se la richiesta è mappata a: e selezionare File o cartella.

Restrizioni richieste
Fare clic sul pulsante Ok nelle finestre Restrizioni richieste Aggiungi mapping modulo per chiuderle ed salvare le modifiche.

La mappatura appena creata appare nell'elenco.

La mappatura appena creata
Nella barra laterale denominata Connessioni fare clic sulla prima voce per tornare alla home della console di IIS. Quindi fare doppio clic su Documento predefinito.

Documento predefinito nella home della console di IIS
Fare clic su Aggiungi... per aggiungere index.php in modo che IIS, se non è specificato un nome di file nell'url del browser, cerchi tra le pagine di default anche per index.php.

Aggiungere alle pagine di default index.php
Ora sistemiamo alcuni dettagli in Windows.

Dal menu Start di Windows fare clic son il tasto destro del mouse su Computer. Dal menu contestuale fare clic su Proprietà. Come indicato dall'immagine seguente fare clic su Impostazioni di sistema avanzate (1), quindi dalla scheda Avanzate fare clic su Variabili d'ambiente... (2). Individuare la variabile Path, quindi dopo averla selezionata con un clic (3) fare clic sul pulsante Modifica...(4).

Modifica della variabile d'ambiente per semplificare l'individuazione del php.ini e delle dll delle estensioni di  php

Infondo al box di testo Valore variabile, che contiene un elenco di percorsi a varie cartelle separati da un ;, aggiungere il percorso alla cartella in cui è stato estratto PHP e ad una sua cartella interna di nome ext. Nel mio caso aggiungo alla fine del box di testo i due percorsi
;C:\php-5.4.12-nts-Win32-VC9-x86\;C:\php-5.4.12-nts-Win32-VC9-x86\ext\

Fare clic su Ok per confermare la modifica e chiudere allo stesso modo tutte le altre finestre.

Adesso andare nel menu Start, aprire Computer quindi andare nella cartella C:\inetpub. Al suo interno c'è la cartella wwwroot. Fare clic con il tasto destro del mouse e dal menu contestuale scegliere Proprietà. Nella scheda Sicurezza fare clic sul pulsante Modifica... (1). Nell'elenco degli Utenti e gruppi, individuare e cliccare l'utente IIS_IUSRS (2) e nella colonna Consenti spuntare Controllo completo (3). Quindi fare clic su Applica (4) come mostrato nell'immagine seguente.

Modifica del livello di sicurezza della cartella del web server

Per completare riavviare Windows.

L'ambiente è pronto, non resta che provarlo. Aprire l'IDE NetBeans. Se non lo si ha ancora andare sul sito ufficiale per scaricarlo e procedere alla sua installazione.

Aperto l'IDE creare un nuovo progetto cliccando sul pulsante  . Nei due riquadri nella finestra del wizard scegliere PHP e PHP Application e fare clic sul pulsante Next>. Cliccare sul pulsante Browser... e andare in C:\inetpub\wwwroot. Creare una cartella di nome Test e selezionarla come destinazione del progetto. Dare un nome a piacere al nuovo progetto e fare clic su Finish

Il wizard di un nuovo progetto in NetBeans

Come mostrato nell'immagine seguente, creare un nuovo file PHP partendo dal menu contestuale della cartella Source Files del progetto appena creato.

Creare un nuovo sorgente php da menu contestuale

Dare al file nome index.php. Il file appena creato appare pronto per essere modificato nella finestra dell'editor. Aggiungere la riga di testo phpinfo()

La pagina index.php di test


Infine salvare con il pulsante e avviare l'esecuzione con . Il risultato sarà come nell'immagine seguente, nel proprio browser predefinito. PHP è installato correttamente per funzionare con IIS



La pagina index.php del progetto appena creato nel browser