Per installare PHP, andiamo sul sito windows.php.net, dove troviamo le versioni PHP ottimizzate per funzionare su Windows.
Nel nostro esempio installeremo la versione 5.3.1 compilata con Visual Studio 2008; questa versione offre performance migliori rispetto alle versioni precedenti compilate con una versione più vecchia del compilatore. In questo caso è richiesta la presenza del runtime Microsoft 2008 C++ sulla macchina nella corretta versione x86 o x64, abbiamo il link per il download gratuito direttamente sul sito.
La versione raccomandata del runtime PHP da usare con FastCGI è comunque una versione non-thread-safe, per le ragioni di performance e stabilità che abbiamo visto nella prima lezione.
Scarichiamo quindi l'archivio zip con il runtime (versione.zip) e creiamo quindi una directory, ad esempio C:PHP531, dove estrarne il contenuto.
php.ini
Nella directory ci sono alcuni file php.ini- da rinominare, ad esempio phi.ini-development e php.ini-production; ne scegliamo uno in base all'ambiente che vogliamo installare e lo rinominiamo php.ini. Questo file sarà usato dal runtime PHP in una configurazione tipica.
Per il corretto funzionamento su IIS dobbiamo assicurarci che il file contenga alcune impostazioni:
fastcgi.impersonate = 1 cgi.fix_pathinfo = 1 cgi.force_redirect = 0
Alcuni di questi parametri sono presenti, ma commentati, ovvero preceduti da un punto e virgola (;). È importante in questo caso togliere il ";". Vediamo altre impostazioni:
| Impostazione | Descrizione |
|---|---|
extension_dir = "ext" |
deve puntare alla directory dove si trovano le estensioni php, nel nostro caso c:PHP531ext |
;open_basedir = |
limita le operazioni alla directory o folder di rete dove si trova il sito web, inizialmente possiamo non modificare questo percorso |
Se vogliamo utilizzare un DBMS (ad esempio Microsoft SQL Server e MySQL), ricordiamoci di scommentare (rimuovere il ;) le relative estensioni PHP.
;ESTENSIONE COMMENTATA ;extension = php_mssql.dll ;estensione attiva extension = php_mysql.dll
Questa regola naturalmente vale per tutte le estensioni.
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: