L'exécution CGI est extrêmement lente si Apache doit invoquer un script de shell à chaque sollicitation. Apache possède un certain nombre de fonctionnalités pour des interpréteurs internes qui analysent des fichiers de scripts avec une grande efficacité. Un langage de programmation bien connu et développé spécialement pour le web est PHP. PHP peut être téléchargé en tant que programme source depuis la PHP Home Page à l'adresse http://www.php.net. Il contient les instructions GNU usuelles.
Apache présente la possibilité d'ajouter des fonctionnalités à l'exécution
en utilisant les fichiers DSO (Dynamic Shared Object). Cette
caractéristique intéresse surtout les distributions qui préparent
des installations fragmentées d'Apache de sorte que les utilisateurs
puissent n'installer que les parties qui les intéressent. Ceci revient
en somme à ce qui a été décrit à la section 24.1:
pour donner à vos programmes des caractéristiques supplémentaires
fournies par diverses bibliothèques, vous pouvez soit lier
statiquement des bibliothèques à votre programme ou compiler
les bibliothèques en tant que fichiers partagés .so
de manière à ce qu'elles soient liées à l'exécution. La différence,
en ce cas, est que les fichiers de bibliothèques sont usuellement
appelés mod_nom et qu'ils sont
enregistrés dans /opt/apache/libexec/.
Ils sont seulement chargés si LoadModule
nom_module apparaît dans le fichier
httpd.conf. De manière à permettre le support
DSO, reconstruisez et ré-installez Apache avec:
./configure -prefix=/opt/apache
-enable-module=so
|
Dès maintenant, vous pouvez suivre les instructions pour installer PHP, en commençant par ./configure -prefix=/opt/php -with-paws=/opt/apache/bin/apxs -with-pgsql=/usr. (Ceci suppose que vous souhaitiez permettre le support pour la base de données postgres SQL et que postgres a été installé au préalable sous /usr.) Enfin, vérifiez qu'un fichier libphp4.so a bien abouti dans /opt/apache/libexec/. [NdT: au moment de la traduction, la version 5 de PHP était disponible].
Votre fichier httpd.conf doit contenir
une information sur la présence des scripts PHP. Ajoutez les lignes
suivantes:
LoadModule php4_module /opt/apache/libexec/libphp4.so
AddModule mod_php4.c AddType application/x-httpd-php .php |
<html>
<head> <title>Example</title> </head> <body> <?php echo ``Hi, I'm a PHP script!''; ?> </body> </html> |
La programmation en PHP sort du cadre de cet ouvrage.