Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



Installation avec les serveurs IIS/PWS

Cette section contient des notes sur l’installation de PHP avec IIS ( Microsoft Internet Information Server).

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.

Considérations générales pour toutes les installations de PHP avec IIS ou PWS

  • Tout d’abord, lisez les instructions d'installation du manuel. Ne négligez pas cette étape, elle fournit des informations essentielles sur l’installation de PHP sur Windows.
  • Le CGI de PHP 4 est nommé “php.exe” tandis qu’en PHP 5, il est nommé “php-cgi.exe”. En PHP 5, “php.exe” est le CLI et non le CGI.
  • L’utilisateur IIS (habituellement IUSR_MACHINENAME) a besoin de permission pour lire les différents fichiers et dossiers, comme le “php.ini”, docroot ainsi que le dossier temporaire hébergeant les sessions.
  • Les fichiers d’extensions DLL de PHP, comme “php_mysql.dll” et “php_curl.dll”, peuvent être trouvés dans le paquet compressé de PHP (et non dans l’installeur de PHP). En PHP 5, beaucoup d’extensions font parties de PECL et peuvent être téléchargées dans le paquet “Collection de modules PECL”. Les fichiers comme “php_zip.dll” et “php_ssh2.dll”. Téléchargez les fichiers PHP ici.
  • Lors de la définition de l’exécutable, la case “Vérifier que ce fichier existe” doit également être cochée. Pour un faible coût au niveau performance, IIS (ou PWS) vérifiera que le fichier de script existe et proposera l’identification avant d’appeler PHP. Cela signifie que le serveur web fourniera des messages d’erreur sensiblement identiques à des erreurs 404 au lieu des erreurs CGI stipulant que PHP n’a pu afficher aucune donnée.

Windows NT/200x/XP et IIS 4 ou plus récent

PHP peut être installé en tant que binaire CGI ou en tant que module SAPI. Dans tous les cas, vous devez démarrer la console d’administration Microsoft (qui doit apparaître comme ‘Internet Services Manager’, soit depuis le menu des options Pack de votre Windows NT 4.0 ou le menu ‘Control Panel⇒Administrative Tools’ sous Windows 2000/XP). Faites alors un clic droit sur le noeud du serveur web (ceci doit apparaître comme ‘Default Web Server’), et sélectionnez ‘Properties’.

Si vous voulez utiliser le binaire CGI, suivez ce qui suit :

  • Sous ‘Home Directory’, ‘Virtual Directory’, ou ‘Directory’, faites ce qui suit :
  • Modifier les permissions d’exécution en ‘Scripts only’
  • Cliquez sur le boutton ‘Configuration’, et choisissez l’onglet ‘Application Mappings’. Cliquez sur ‘Add’ et définissez le chemin vers l’exécutable vers le fichier CGI approprié. Un exemple de valeur pour PHP 5 : “C:\php\php-cgi.exe”. Ajoutez “.php” en tant qu’extension. Laissez ‘Method exclusions’ vide, et cochez la case ‘Script engine’ checkbox. Maintenant, cliquez sur Ok plusieurs fois.
  • Définissez la sécurité appropriée. (Ceci est fait dans ‘Internet Service Manager’), et, si votre serveur NT utilise le système de fichiers NTFS, ajoutez le droit à l’exécution pour I_USR_ pour le dossier qui contient “php.exe” / “php-cgi.exe”.

Pour utiliser le module SAPI, faites ce qui suit :

  • Si vous ne souhaitez pas faire d’identification HTTP en utilisant PHP, vous pouvez (et vous devez) ignorer cette étape. Dans les filtres ISAPI, ajoutez un nouveau filtre ISAPI. Utilisez PHP en tant que nom de filtre, et ajoutez un chemin vers les fichiers “php4isapi.dll” / “php5isapi.dll”.
  • Sous ‘Home Directory’, ‘Virtual Directory’, ou ‘Directory’, faites ce qui suit :
  • Modifiez les permissions d’exécution en ‘Scripts only’
  • Cliquez sur le bouton “Configuration” et ajoutez une nouvelle entrée dans “Application Mappings”. Cliquez sur ‘Add’ et définissez le chemin d’exécution vers la bibliothèque DLL ISAPI appropriée. Un exemple de valeur pour PHP 5 est : “C:\php\php5isapi.dll”. Ajoutez “.php” en tant qu’extension. Laissez ‘Method exclusions’ vide, et cochez la case ‘Script engine’. Maintenant, cliquez que Ok plusieurs fois.
  • Arrêtez totalement IIS (”NET STOP iisadmin”)
  • Démarrez IIS (”NET START w3svc”)

Avec IIS 6 (2003 serveur), ouvrez le gestionnaire IIS, allez aux extensions de services web, choisissez “Add a new Web service extension”, entrez-y un nom comme PHP, cliquez sur le boutton ‘Add’ et pour la valeur, choisissez soit le fichier ISAPI (”php4isapi.dll” ou “php5isapi.dll”), soit le fichier CGI (”php.exe” ou “php-cgi.exe”), puis cochez “Set extension status to Allowed” et validez en cliquant sur OK.

Afin d’utiliser “index.php” en tant que page par défaut, faites ce qui suit : depuis l’onglet ‘Documents’, choisissez ‘Add’. Entrez-y “index.php” et validez en cliquant sur OK. Ajustez l’ordre en choisissant ‘Move Up’ ou ‘Move Down’. Ceci est similaire à la définission de ‘DirectoryIndex’ sous Apache.

L’étape ci-dessus doit être répétée pour chaque extension qui doit être associée aux scripts PHP. “.php” est le plus courant, cependant “.php3” peut être requis pour certaines applications.

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

Windows et PWS 4

PWS 4 ne supporte pas ISAPI, uniquement PHP CGI doit être utilisé.

  • Éditez 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.

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 “%s” %s” pour PHP 4 ou “C:\php\php-cgi.exe “%s” %s” 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’icône. 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-la “Shell”.
  • Faites un clic droit dans “Shell” et sélectionnez “New→Key”, appelez-la “open”.
  • Faites un clic droit dans “open” et sélectionnez “New→Key”, appelez-la “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.

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright