Manuel PHP
Précédent | Chapitre 6. Installation sur les système Windows | Suivant

# Installation avec les serveurs IIS/PWS

Cette section contient des notes sur l'installation de PHP avec IIS ( Microsoft Internet Information Server) : PWS/IIS 3, PWS 4 ou plus récent et IIS 4 ou plus récent.

> Important pour les utilisateurs de CGI : Lisez la FAQ sur cgi.force_redirect pour d'importants conseils. Cette directive doit prendre la valeur de 0.

Avertissement
En utilisant le mode CGI, votre serveur est ouvert à de possibles attaques sérieuses. Lisez attentivement notre section sur la sécurité en mode CGI pour apprendre comment vous défendre contre ces attaques.

## Windows et PWS/IIS 3

La méthode recommandée pour configurer ces serveurs est d'utiliser le fichier INF inclus dans la distribution (`pws-php4cgi.reg` dans le dossier SAPI pour PHP 4 ou `pws-php5cgi.reg` dans le dossier principal pour PHP 5). Vous pouvez éditer ce fichier, pour vous assurer que les extensions et les dossiers d'installation de PHP sont bien ceux de votre configuration. Ou alors, vous pouvez suivre les instructions suivantes pour le faire manuellement.

Avertissement
Ces instructions requièrent la manipulation du fichier de registre de Windows. Une erreur peut laisser votre système dans un état instable. Nous vous recommandons vivement de sauvegarder ce fichier en lieu sûr. L'équipe de développement et les traducteurs de cette documentation ne pourront pas être tenus responsable d'un quelconque dommage qui pourrait survenir dans votre registre.

- Lancez Regedit.

- Naviguez jusqu'à : HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap.

- Dans le menu "edit", sélectionnez : New->String Value.

- Entrez l'extension que vous voulez utiliser pour les scripts PHP. Par exemple : .php

- Double-cliquez sur la chaîne, et entrez le chemin jusqu'à `php.exe` dans le champ "value data". Exemple : `C:\php\php.exe` pour PHP 4 ou `C:\php\php-cgi.exe` pour PHP 5.

- Répétez ces étapes pour chaque extension que vous désirez associer à vos scripts PHP.

Les étapes suivantes n'affectent pas la configuration du serveur web, et ne s'appliquent que si vous voulez que vos scripts PHP soient exécutés lorsqu'il sont exécutés en ligne de commande (par exemple, run `C:\messcripts\test.php`) ou en double-cliquant sur l'icone. Vous pouvez ignorer ces étapes si vous préférez que vos scripts PHP s'ouvrent dans un éditeur de texte, plutôt que de les voir s'exécuter lorsque vous double-cliquez dessus.

- Naviguez jusqu'à : HKEY_CLASSES_ROOT

- Dans le menu edit, sélectionnez : New->Key.

- Donnez le nom de votre extension à la clé. Par exemple : .php

- Sélectionnez le nom de la nouvelle clé dans le panneau de droite, et double-cliquez dans "default value", puis entrez phpfile.

- Répétez ces instructions pour toutes les extensions que vous avez associé aux scripts PHP.

- Créez une autre New->Key sous HKEY_CLASSES_ROOT et nommez-la phpfile.

- Sélectionnez la nouvelle clé phpfile et dans le panneau de droite, double-cliquez dans "default value" et entrez PHP Script.

- Faites un clic droit dans phpfile et sélectionnez New->Key, appelez-le Shell.

- Faites un clic droit dans Shell et sélectionnez New->Key, appelez-le open.

- Faites un clic droit dans open et sélectionnez New->Key, appelez-le command.

- Sélectionnez la nouvelle clé command et dans le panneau de droite, faites un double-clic dans "default value", puis entrez le chemin jusqu'à `php.exe`. Par exemple : c:\php\php.exe -q %1 (n'oubliez pas le %1).

- Quittez Regedit.

- Si vous utilisez PWS sous Windows, redémarrez pour prendre en compte le nouveau registre.

Les utilisateurs de PWS et IIS 3 sont prêts à utiliser leur serveur. Avec IIS 3, vous pouvez utiliser un outil bien pratique de Steven Genusa pour configurer votre carte des scripts.

## Windows et PWS 4 ou plus récent

Pour installer PHP sous Windows avec PWS 4 ou plus récent, vous avez deux options : l'une est d'avoir PHP sous forme de CGI, l'autre est d'utiliser les modules ISAPI, sous forme de DLL.

Si vous optez pour le CGI, faites ceci :

- Editez le fichier `pws-php4cgi.reg` / `pws-php5cgi.reg` (regardez dans le dossier SAPI pour PHP4 ou dans le dossier principal pour PHP 5) pour indiquer la localisation de votre fichier `php.exe` / `php-cgi.exe`. Les slash doivent être échappés. Par exemple : [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\php.exe" (modifiez en C:\\php\\php-cgi.exe si vous utilisez PHP 5). Maintenant, intégrez ce fichier de registre dans votre système ; vous devriez juste avoir à double cliquer dessus.

- Dans le gestionnaire PWS Manager, faites un clic droit sur les dossiers qui supporteront PHP, et sélectionnez "Properties". Cochez l'option "Execute" et confirmez.

Si vous optez pour les modules ISAPI, faites ceci :

- Editez le fichier `pws-php4isapi.reg` / `pws-php5cgi.reg` (regardez dans le dossier SAPI pour PHP4 ou dans le dossier principal pour PHP 5) pour indiquer la localisation de votre fichier `php4isapi.exe` / `php5isapi-cgi.exe`. Les slash doivent être échappés. Par exemple : [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\sapi\\php4isapi.dll" (modifiez en C:\\php\\php5isapi.dll si vous utilisez PHP 5). Maintenant, intégrez ce fichier de registre dans votre système ; vous devriez juste avoir à double cliquer dessus. Editez le fichier `pws-php4isapi.reg` (dans le dossier SAPI) pour indiquer la localisation de votre fichier `php4isapi.dll`. Les slash doivent être échappés. Par exemple : [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\sapi\\php4isapi.dll". Maintenant, intégrez ce fichier de registre dans votre système ; vous devriez juste avoir à double cliquer dessus.

- Dans le gestionnaire PWS Manager, faites un clic droit sur les dossiers qui supporteront PHP, et sélectionnez "Properties". Cochez l'option "Execute" et confirmez.

## Windows NT/2000/XP et IIS 4 ou plus récent

Pour installer PHP sous Windows NT/2000/XP server avec IIS 4 ou plus récent, vous avez deux options : l'une est d'avoir PHP sous forme de CGI (`php.exe` en PHP 4 ou `php-cgi.exe` en PHP 5), l'autre est d'utiliser les modules SAPI, sous forme de DLL.

Dans les deux cas, vous devez lancer la console "Microsoft Management" (elle peut aussi s'appeler "Internet Services Manager". Elle est située soit dans "Windows NT 4.0 Option Pack" ou dans "Control Panel=>Administrative Tools" sous Windows 2000). Puis, faites un clic droit sur votre dossier web (qui apparaitra probablement comme 'Default Web Server'), et sélectionnez "Properties".

Si vous optez pour le CGI, faites ceci :

- Sous "Home Directory", "Virtual Directory", ou "Directory", cliquez sur le bouton "Configuration", et sélectionnez l'onglet "App Mappings".

- Cliquez sur "Add", puis dans la boîte "Executable", tapez : C:\php\php.exe pour PHP 4 ou C:\php\php-cgi.exe pour PHP 5 (si vous avez installé PHP dans le dossier `c:\php\`).

- Dans la boîte "Extension", tapez le nom de l'extension que vous voulez associer aux scripts PHP. Laissez "Method exclusions" vide, et cochez "Script engine". Vous pouvez aussi préférer cocher la boîte 'check that file exists' - pour un coût faible, IIS (ou PWS) s'assurera que le script existe, et résoudra les problèmes d'autentification avant de démarrer PHP. Cela signifie que vous obtiendrez des messages d'erreur 404 intelligents, plutôt que d'avoir simplement une plainte du serveur comme quoi les CGI n'ont rien retourné.

  Répétez les étapes 3 et 4 pour chaque extension que vous souhaitez associer aux scripts PHP. .php et .phtml sont les plus répandues mais aussi .php3 peut être requis pour des applications.

- Configurer la sécurité nécessaire (dans "Internet Service Manager"), et si votre serveur NT utilise NTFS, ajoutez les droits adéquats pour I_USR_, au dossier qui contient `php.exe` / `php-cgi.exe`.

Si vous optez pour les modules ISAPI, faites ceci :

- Si vous ne voulez pas effectuer des identifications HTTP avec PHP, vous pouvez (et devez) sauter cette étape. Avec ISAPI Filters, ajoutez un nouveau filtre ISAPI. Utilisez PHP comme nom de filtre, et ajoutez simplement le chemin jusqu'à `php4isapi.dll`.

- Sous "Home Directory", cliquez sur le bouton "Configuration". Ajoutez une nouvelle entrée dans "Application Mappings". Utilisez le chemin jusqu'à `php4isapi.dll` / `php5isapi.dll` comme "Executable", indiquez .php comme extension, laissez "Method exclusions" vide, et cochez "Script engine".

- Arrêtez totalement IIS (NET STOP iisadmin)

- Démarrez IIS (NET START w3svc)

Si vous atteignez 100% d'utilisation du CPU après quelques minutes, désactivez l'option de configuration Cache ISAPI Application de IIS.

Précédent | Sommaire | Suivant
ActiveScript | Niveau supérieur | Installer PHP sous Microsoft Windows avec Apache 1.3.x