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.