Cette section contient des notes spécifiques pour l'installation de PHP avec Apache, aussi bien pour la version Unix que Windows. Des notes spécifiques pour Apache 2 sont aussi disponibles sur une page séparée.
Vous pouvez sélectionner des options à ajouter au fichier configure à la ligne 10 depuis la liste complète des options de configuration. Les numéros de versions ont été omis ici afin de s'assurer que les instructions ne sont pas incorrectes. Vous devrez donc remplacer les 'xxx' par les versions correctes de vos fichiers.
Suivant votre installation d'Apache et votre variante d'Unix, il existe de nombreuses façons d'arrêter et redémarrer Apache. Voici une liste des commandes typiques, pour différentes installations. Remplacez /path/to/ par le chemin d'accès à vos applications sur votre système.
Exemple 3-6. Exemples de commandes pour le redémarrage d'apache
|
L'emplacement des exécutables apachectl et http(s)dctl peut varier. Si votre système est pourvu des commandes locate, whereis ou which, elles peuvent vous aider à retrouver vos programmes.
Différents exemples de compilation PHP pour Apache suivent :
Cette commande va créer une librairie partagée libphp4.so qui sera chargée par Apache avec une ligne LoadModule dans le fichier httpd.conf. Le support PostgreSQL est aussi inclut dans libphp4.so.
Cette commande va créer une librairie partagée libphp4.so pour Apache, mais va aussi créer la librairie partagée pgsql.so qui sera chargée dans PHP avec une directive du fichier php.ini file ou en la chargeant explicitement dans le script avec la fonction dl().
Cette commande va créer une autre librairie partagée libmodphp4.a, un fichier mod_php4.c et quelques fichiers associés dans le dossier src/modules/php4 du dossier source Apache. Puis, vous devez compiler Apache avec --activate-module=src/modules/php4/libphp4.a et le système de compilation d'Apache va créer un fichier libphp4.a et le lier statiquement avec httpd. Le support PostgreSQL est alors inclus directement dans l'exécutable httpd, ce qui fait que le résultat final est un fichier unique httpd, qui inclut Apache et PHP.
Comme précédemment, mais au lieu d'inclure le support PostgreSQL directement dans l'exécutable httpd final, vous allez obtenir une librairie partagée pgsql.so que vous pouvez charger dans PHP soit grâce au fichier de configuration php.ini ou dynamiquement avec dl().
Lorsque vous faites votre choix entre les différents modes de compilation de PHP, vous devez prendre en compte leurs avantages et inconvénients respectifs. Les objets partagés permettent de compiler PHP et Apache de manière séparée, et vous n'aurez pas à compiler l'ensemble pour faire évoluer PHP. La compilation statique permet de charger et d'exécuter plus rapidement PHP. Pour plus d'informations, voyez la page web sur le support des DSO.
Note : Le httpd.conf par défaut de Apache est fourni avec une section qui ressemble à ceci :
A moins que vous ne changiez cette valeur par "Group nogroup" ou quelque chose comme ça ("Group daemon" est aussi classique), PHP ne sera pas capable d'ouvrir des fichiers.
Note : Assurez-vous que vous spécifiez la version installée de apxs avec l'option --with-apxs=/path/to/apxs. Vous ne devez PAS utiliser la version d'apxs qui est dans les sources d'Apache, mais celle qui est réellement installée sur votre système.
Il y a deux méthodes pour faire fonctionner PHP avec Apache 1.3.x sous Windows. La première est d'utiliser l'exécutable CGI (php.exe), l'autre est d'utiliser les modules Apache DLL. Dans les deux cas, vous devez arrêter le serveur Apache, éditer votre fichier httpd.conf pour dire à Apache de prendre PHP en compte.
Mainetant que le module SAPI a été rendu plus stable sous Windows, nous recommandons son usage plutôt que celui de l'exécutable CGI, car il est plus transparent et sécurisé.
Bien qu'il puisse y avoir quelques différences de configuration de PHP sous Apache, le processus reste simple et à la portée du néophyte. Reportez-vous aux documentations Apache pour plus de détails sur ces directives.
Si vous avez dézippé le package PHP dans c:\php\ comme indiqué dans le chapitre Installation manuelle sous Windows", vous devez insérer les lignes suivantes dans vos fichiers de configuration Apache pour configurer l'exécutable CGI :
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"
Avertissement |
En utilisant la configuration en CGI, votre serveur sera ouvert à plusieurs attaques potentielles. Lisez donc la section sécurité des CGI pour savoir comment vous en défendre. |
Si vous voulez utiliser PHP comme module Apache, vous devez déplacer le fichier php4ts.dll dans le dossier windows/system (pour Windows 9x/Me), winnt/system32 (pour Windows NT/2000) ou windows/system32 (pour Windows XP) en écrasant les anciennes versions. Puis, vous devez ajouter les deux lignes suivantes dans le fichier de configuration Apache httpd.conf :
Editez httpd.conf avec votre programme favori, repérez la directive LoadModule et ajoutez la ligne suivante à la fin de la liste pour PHP 4 : LoadModule php4_module "c:/php/sapi/php4apache.dll" ou celle-ci pour PHP 5 : LoadModule php5_module "c:/php/sapi/php5apache.dll"
Il se peut que, après avoir utilisé l'installeur Windows de Apache, vous deviez définir la directive AddModule pour mod_php4.c. C'est particulièrement important si la directive ClearModuleList est définie (vous la trouverez normalement quelques lignes plus bas). Vous verrez une liste d'entrés AddModule, ajoutez la ligne suivante à la fin de la liste : AddModule mod_php4.c Pour PHP 5, utilisez plutôt AddModule mod_php5.c
Cherchez une phrase identique à # AddType allows you to tweak mime.types. Vous verrez quelques entrées AddType, ajoutez alors la ligne suivante à la fin de la liste : AddType application/x-httpd-php .php. Vous pouvez choisir les extensiosn que vous voulez parsées par PHP ici-même. .php est tout simplement celle que nous suggérons. Vous pouvez aussi ajouter .html et .php3 pour une compatibilité ascendante.
Après avoir modifié le fichier de configuration, pensez à redémarrer le serveur web, par exemple avec NET STOP APACHE suivi de NET START APACHE, si vous utilisez Apache comme service Windows, ou bien utilisez vos alias classiques.
Il y a deux méthodes pour utiliser la fonctionnalité de coloration syntaxique, elles dépendent de votre installation. Si vous avez configuré Apache pour utiliser PHP comme module SAPI, alors il suffit d'ajouter la ligne suivante dans votre httpd.conf (au même endroit que celui où vous avez inséré AddType application/x-httpd-php .php, voir plus haut) pour bénéficier de cette fonctionnalité : AddType application/x-httpd-php-source .phps
Si vous choisissez de configurer Apache pour utiliser PHP comme exécutable CGI, vous aurez besoin de la fonction show_source(). Pour cela, créez simplement un script PHP et ajoutez-y le code suivant : <?php show_source ("original_php_script.php"); ?>. Substitutez original_php_script.php par le nom du fichier que vous souhaitez afficher.
Note : Avec le couple Windows-Apache tous les antislashes des noms de chemins tels que "c:\directory\file.ext", doivent être convertis en slash c'est à dire "c:/directory/file.ext".
Précédent | Sommaire | Suivant |
CGI/ Installation pour exécution en ligne de commande | Niveau supérieur | Installation avec les serveurs Apache 2.0 |