Perché PHP con IIS?



In questa guida vedremo come utilizzare Internet Information Server (IIS), il server web nativamente presente su Windows in modo da sfruttarlo al meglio per applicazioni PHP.

Iniziamo cercando di rispondere alla domanda posta nel titolo della lezione, esaminando i motivi che ci spingevano a non considerare IIS come un valido supporto per le applicazioni PHP e quelli che oggi fanno riaprire la questione.

IIS e PHP in passato

In passato applicazioni PHP non giravano al meglio su Internet Information Server. Il motivo risiedeva nel fatto che PHP poteva giare su IIS solamente in due modalità: o usando CGI o come ISAPI Extension.

CGI in genere fornisce stabilità all'applicazione PHP, poiché in questo ambiente esite un solo thread per processo, questo a tutto svantaggio delle performance: per ogni richiesta HTTP che arriva al server web viene creato un nuovo processo, operazione costosa in termini di risorse della macchina.

Usare invece ISAPI per far girare PHP, comporta un aumento delle performance, grazie al naturale supporto multi-threading offerto. Il problema qui si presenta quando alcune applicazioni PHP utilizzano estensioni non-thread-safe. Queste estensioni possono causare problemi di instabilità con questo modello di esecuzione, tipico di IIS.

IIS e PHP oggi con FastCGI

Negli utimi anni Microsoft ha rilasciato un componente per IIS, noto come FastCGI, disponibile per diverse versioni di IIS, che consente ad applicazioni PHP di girare in modo sia stabile che performante.

Il modulo FastCGI infatti crea una serie di processi, che vengono gestiti in pool e riutilizzati per successive richieste HTTP. All'interno di questi processi, il runtime di PHP e le relative estensioni e applicazioni girano gestite da un singolo thread.

In questo ambiente di esecuzione le estensioni PHP non-thread-safe non danno problemi e al contempo il riutilizzo dei processi del pool non crea problemi di performance.

Inoltre Microsoft sta testando le più note applicazioni Open Source per PHP per garantirne una efficace esecuzione in ambiente Windows con IIS. Oggi, alcune delle più note applicazioni come WordPress, Drupal, Gallery, Joomla e molte altre possono essere installate in modo automatico direttamente dalla Web Application Gallery, tramite un tool gratuito oppure installate e configurate manualmente con delle guide apposite presenti sul sito community di IIS.

IIS può inoltre essere usato come server web per gestire contenuti statici, o dinamici come pagine ASP e ASP.NET, offrendo quindi un server web in cui far girare applicazioni fatte con tecnologie diverse.

Quale versione di Internet Information Server?

Nel corso della guida vedremo come configurare IIS 7.x la versione di IIS presente su Windows Vista, Windows 7, Windows Server 2008 e Windows Server 2008 R2.

La versione 7 di IIS porta con sé alcune differenze importanti sia dal punto di vista architetturale, sia da quello della disponibilità: troviamo la stessa versione del server web sia sui sistemi operativi client come Windows Vista e Windows 7 sia su quelli server come Windows Server 2008. La stessa architettura modulare e gli strumenti di configurazione consentono un facile passaggio da ambienti di sviluppo e test a quelli di produzione.

Tuttavia la componente FastCGI può essere scaricata anche per IIS 5.1, presente in Windows XP e IIS 6.0 presente in Windows Server 2003.

Ultimi articoli PHP

Sessioni PHP: cosa sono, come si usano

Dalla configurazione di PHP, alla gestione delle sessioni in un...

Continuous Integration: automatizziamo i client con Phing

Continuous Integration: automatizziamo i client con Phing. Esempi...

Archiviazione delle applicazioni PHP con Phar

Come incorporare intere applicazioni PHP all'interno di un singolo...

I traits in PHP 5.4

Cosa sono, a cosa servono e come si unsano i traits, la novità per...

PHP 5.4: il web server integrato

Impara ad usare il web server integrato nella versione 5.4 di PHP:...

Altri articoli

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti