.But : Faire fonctionner php et .net sous le même site.
La sécurité étant déléguée à iis. Le trapping des erreurs serveurs php peut très bien se faire en php.
ModifierInstallation
ModifierDLL FastCGI
Téléchargez et executez :http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1521
Cela install des dll sur : %WINDIR%\system32\inetsrv
ModifierInstallation de php
http://www.php.net/downloads
Php 5.x en (conseillé 5.2.1 >) non-thread-safe PHP
la version 5.2.6 contient déjà dans son installeur quelques facilités.
Modifierconfiguration
Placez vous en ligne de commande sur : %WINDIR%\system32\inetsrv
tapez :
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" (si php installé sur c:\php)
ou pour un seul site :
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" –site:1 (1 étant l'id de votre site)
L'id du site est visible sous iis 6 dans la console de management lorsque vous avez la liste des sites dans la fenêtre de droite (à gauche le serveur cliqué).
Attention au copier/coller le caractère "-" serais alors mal interprété, retaper le directement dans la console.
note : pour une configuration manuelle voir : http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/
ModifierModifiez php.ini
fastcgi.impersonate = 1 Permet d'utiliser le compte d'impersonification d'iis
cgi.fix_pathinfo=1 Pour éviter l'utilisation de chemin non relatif au site.
cgi.force_redirect = 0.
ModifierModification des performances
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000 (10000 instances supportées)
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000 (Recyclage de l'application au delà de 10000 request)
ModifierTest
Mettre une page en racine
phpinfo.php contenant
{BR}
<?php{BR}
{BR}
{BR}
phpinfo(); {BR}
{BR}
?>{BR}
ModifierSoucis
ModifierPAGE INTROUVABLE
vérification de la configuration et de l'id de votre site.
regarder le fichier C:\WINDOWS\system32\inetsrv\fcgiext.ini
- qui doit contenir : (xxxx : id de votre site)
Types
php:xxxxx=PHP
PHP
ExePath=C:\PHP\php-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
ceux-ci peuvent être rejoués plusieurs fois sans incidence.
ModifierErreur Fast CGI
Il faut alors créer une autre application pool sans la surveillance du CPU.