Installer PHP sous Windows mais sans Apache
Windows dispose d’un excellent serveur HTTP : IIS7. Et ce serveur est pleinement en capacité d’exécuter autre chose que du .NET, du PHP par exemple. Mais vu le manque d’instructions claire de la part de l’équipe PHP pour installer PHP sous Windows sans utiliser Apache, je sens le besoin de rédiger cet article.
Installation automatique
Je ne m’étendrai pas beaucoup là-dessus, il suffit de suivre les instructions de cette page. La dernière fois que j’ai tenté cette installation, j’ai eu quelques soucis mineurs, on va dire que pour une install rapide, ça ne marche pas trop mal.
Installation manuelle pour IIS6
A quelques détails près, la procédure à suivre est similaire à celle pour IIS7. Par contre continuer à utiliser II6 et surtout pour autre chose que du .NET, ça craint d’un point de vue sécurité.
Installation manuelle pour IIS7 et +
La procédure est identique en tout point à celle pour IIS Express (plus bas), sauf qu’il faut être admin de la machine et que le bon fichier de configuration se trouve dans %WINDIR%\System32\inetsrv\config.
L’avantage néanmoins d’avoir un IIS pas express, c’est qu’il y a une interface graphique, c’est probablement plus simple et safe que de sortir directement mon burin Notepad++.
Je détaillerai prochainement la partie graphique (avec des screen) et complètement cette section.
Installation manuelle pour IIS Express
- Installez IIS Express si ce n’est pas déjà fait en le téléchargeant ici. C’est la seule étape qui nécessite d’être administrateur de la machine, tout le reste peut être réalisé par un utilisateur lambda.
- Téléchargez la (dernière de préférence) version de PHP ici en prenant soin de préférer la version non thread-safe (NTS) : http://windows.php.net/download/#php-5.4
- Décompressez php où vous le souhaitez, par exemple dans
%ProgramFiles(x86)%\PHP 5.4.17si vous êtes administrateur ou bien dans%USERPROFILE\AppData\Local\PHP 5.4.17s’il s’agit d’une installation locale à un utilisateur particulier. Pour la suite de la procédure, on considèrera%INSTALL%comme le répertoire d’installation de PHP. - Éditez le fichier
%USERPROFILE%\Documents\IISExpress\config\applicationhost.configde l’utilisateur souhaitant bénéficier de PHP sur sa plateforme IIS Express - Cherchez le nœud
/system.webServer/fastCGIet ajoutez-y le nœud suivant :<application fullPath="%INSTALL%\php-cgi.exe" /> - Ajoutez ensuite le handler suivant (nœud à ajouter dans le nœud handlers)
<add name="php5" path="\*.php" verb="\*" modules="FastCgiModule" scriptProcessor="%INSTALL%\php-cgi.exe" resourceType="File" />. Attention, ce handler doit être ajouté avant les handlers génériques, en particuliers les handlers suivants :StaticFileModuleet lesExtentionlessUrl\*. - Éditez le fichier
%INSTALL%\php.inien prenant comme base le fichierphp.ini-production(par exemple) qui se trouve dans le même répertoire- Fixez le path comme suit :
include_path = ".;%INSTALL%\ext" - Fixez
cgi.force_redirect = 0 - Dans la section
[Date], fixez le timezone comme suit :date.timezone = Europe/Paris - Spécifiez la variable ext à ext
- Optionnel Mettez la variable
short_tagsàOn
- Fixez le path comme suit :
- C’est normalement terminé, il n’y a plus qu’à tester le bon fonctionnement de PHP avec le classique
<?php phpinfo();
Note
L’équipe PHP ne propose que des builds 32 bits. Il y a des builds 64 bits, mais elles ne sont actuellement pas encore considérées comme stable.