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.
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.
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.
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.
Sessioni PHP: cosa sono, come si usanoDalla configurazione di PHP, alla gestione delle sessioni in un... |
Continuous Integration: automatizziamo i client con PhingContinuous Integration: automatizziamo i client con Phing. Esempi... |
Archiviazione delle applicazioni PHP con PharCome incorporare intere applicazioni PHP all'interno di un singolo... |
I traits in PHP 5.4Cosa sono, a cosa servono e come si unsano i traits, la novità per... |
PHP 5.4: il web server integratoImpara ad usare il web server integrato nella versione 5.4 di PHP:... |
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Guida PHP con Windows e IISInstallare ambienti per lo sviluppo e la produzione di applicazioni... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |