FastCGI, IIS et PHP

Publié le 27 décembre 2007 par Marie

Cela fait maintenant un mois que l'extension FastCGI est officiellement disponible pour IIS 6.0. Il est temps de faire un point sur cette nouvelle fonctionnalité du serveur web de Microsoft et de l'intérêt pour la communauté PHP.

Qu'est ce que FastCGI ?

FastCGI est une interface créée au milieu des années 90 permettant la communication entre un serveur web et des logiciels indépendants. Son intérêt est qu'elle n'utilise qu'un seul processus pour exécuter plusieurs requêtes contrairement à l'interface CGI qui crée un processus pour chaque requête à effectuer. Très peu utilisée pendant longtemps, cette extension voit sa popularité augmentée depuis quelques années seulement.

L'intérêt pour PHP

Jusqu'au support de FastCGI, il n'y avait que très peu de moyens d'utiliser PHP sur un serveur IIS. Les méthodes les plus populaires sont l'utilisation des filtres ISAPI ou de PHP en CGI mais les performances sont mauvaises ou la stabilité du serveur est médiocre.

L'utilisation du module FastCGI, validée par Zend et testée depuis un an par plusieurs partenaires de Microsoft, est plus performante que ces deux solutions et semble être tout à fait stable. D'après Andi Gutmans, CTO de Zend, les performances seraient d'ailleurs comparables à celles que l'on obtient sur un serveur Unix.

Au-delà de l'aspect technique, l'arrivée du module FastCGI fait de PHP une alternative performante dans le choix d'un langage dynamique pour un serveur IIS.

Installer FastCGI et PHP sur un serveur IIS

Le principe d'installation est assez simple. FastCGI est disponible sur la forme d'un programme d'installation automatique comme on en trouve souvent pour Windows. Il suffit ensuite de télécharger et de dézipper une des versions de PHP précompilées disponibles sur le site officiel et d'indiquer à IIS qu'il doit utiliser PHP avec FastCGI.

Officiellement l'extension FastCGI est disponible pour IIS 6.0 mais il est également posssible de l'utiliser sur Windows Server 2008 avec IIS 7.0 où elle sera directement intégrée.
Une vidéo sur le site TechNet de Microsoft montre comment configurer PHP sur un serveur IIS 7 en utilisant FastCGI : Installing PHP Applications on IIS7

Pour en savoir plus :