PHP avec IIS7
Le mode opératoire pour configurer PHP dans IIS7 est radicalement différent de celui d'IIS6. Vous trouverez ci-dessous le détail des différentes étapes à suivre.
Les paramétrages qui suivent se réalisent dans le Gestionnaire des services Internet (IIS). Vous pouvez y accéder par le bouton Démarrer puis Outils d'Administration et enfin Gestionnaire des services Internet (IIS). Positionnez-vous ensuite sur le nom de votre serveur qui vous donnera accès à la page d'accueil de votre serveur avec les différentes icones nécessaires au paramétrage que nous allons maintenant détailler.
1. Mode CGI
Double cliquez sur l'option "Mappages de gestionnaires".
Ensuite, dans le groupe "Actions", sélectionnez l'option "Ajouter un mappage de modules".
Dans le formulaire proposé, renseignez les champs de la manière suivante :
- Chemin des demandes : *.php
- Module : Sélectionnez FastCgiModule dans la liste déroulante
- Exécutable : Dans votre répertoire d'installation de PHP, sélectionnez le programme "php-cgi.exe"
- Nom : Spécifiez par exemple, "PHP-FastCGI"
Cliquez ensuite sur le bouton "Restrictions des demandes". Cochez la case "Appeler le gestionnaire seulement si une demande est mappée à :" puis cochez l'option "Fichier ou dossier".
Validez les formulaires avec le bouton "OK".
Une fois ce paramétrage effectué, le PHP est opérationnel.
2. Mode ISAPI
2.1. Mappages de gestionnaires
Faites un clic droit Ouvrir la fonctionnalité sur l'icone Mappages de gestionnaires comme le montre la fenêtre ci-dessous :
Vous accédez alors à la fenêtre suivante :
Renseignez ce formulaire comme le montre la copie d'écran. Sur la ligne Exécutable, spécifiez le chemin d'accès à la PHP5ISAPI.DLL.
2.2. Restrictions ISAPI et CGI
Faites un clic droit Ouvrir la fonctionnalité sur l'icone Restrictions ISAPI et CGI comme le montre la fenêtre ci-dessous :
Vous accédez alors au formulaire suivant :
Renseignez ce formulaire comme le montre la copie d'écran. Sur la ligne Chemin ISAPI ou CGI, spécifiez le chemin d'accès à la PHP5ISAPI.DLL.
3. Connexion à la base MSSQL
Dans le cas où vous souhaitez vous connecter à la base MSSQL, vous devez activer l'extension correspondante dans le PHP.INI. Si au redémarrage d'IIS7 vous avez une erreur, cela peut provenir de la NTWDBLIB.DLL. En effet, la version fournie avec le package PHP peut être incompatible. Dans ce cas, vous pouvez la télécharger sur notre site en cliquant sur ce lien. Décompressez alors le fichier téléchargé et copié la DLL dans le répertoire des extensions de pHP.
4. Cas des serveurs 64 bits
Si vous disposez d'un serveur 64 bits, il est nécessaire d'effectuer un paramétrage complémentaire pour permettre à IIS d'interpréter la PHP5ISAPI.DLL qui est en version 32 bits.
Pour cela, faites un clic droit Paramètres avancés sur le pool d'application par défaut comme le montre la copie d'écran suivante :
Sur la ligne Activer les applications 32 bits, sélectionnez True comme cela est montré dans la copie d'écran ci-dessous :
5. Paramétrage du PATH
la dernière étape consiste à ajouter le répertoire du PHP dans le PATH de Windows. Pour cela, accédez au Panneau de configuration puis cliquez sur l'icone Système.
Sur la fenêtre qui vous est proposée, cliquez sur Paramètres avancés et enfin sur le bouton Variables d'environnement comme vous le montre la copie d'écran ci-dessous :
Sélectionnez dans la liste la variable path puis cliquez sur le bouton modifier. Ajoutez alors le répertoire de PHP ainsi que le répertoire des extensions de PHP (par exemple, ;c:\php530;c:\php530\ext) (pensez à mettre un ; comme séparateur).
Si vous avez ensuite une erreur 500 lors de l'accès à une page PHP après le redémarrage d'IIS, cela peut provenir du fait que la modification du PATH n'a pas été prise en compte par Windows. Il est alors nécessaire de redémarrer le serveur.
6. Redémarrage d'IIS7
Maintenant que les paramétrages ont été effectués, il ne reste plus qu'à redémarrer IIS7 pour leur prise en compte. Pour cela, dans le gestionnaire des services Internet, faites un clic droit sur le serveur puis Arrêter comme montré ci-dessous :
Ensuite faites un clic droit Démarrer pour relancer IIS.
Si le PHP ne fonctionne pas (Erreur interne 500 lors de l'appel d'une page PHP), redémarrez alors IIS en ligne de commande :
- Redémarrage d'IIS en ligne de commande
- Bouton Démarrer - Exécuter. Tapez cmd sur la ligne de commande. Une fois la fenêtre DOS affichée, tapez iisreset puis validez par la touche Entrée.