Table des matières
MODULE PHP DANS APACHE
Que fait le module PHP dans Apache ?
Apache est conçut pour héberger des pages au format html mais sur un serveur HTTP on peut y mettre ce que l'on veut, le serveur les servira toujours car c'est sont job.
Ici on se positionne coté serveur.
Coté client
Un navigateur ne comprend que trois formats qui sont (.html .css .js) car les navigateurs sont constitués de plusieurs moteurs que l'on appel des “Moteurs de rendu HTML” prenant donc en charge le html, le css et le javascript.
Exemple de Moteur de rendu HTML et CSS: “Gecko”
Exemple de Moteur JavaScript: “SpiderMonkey”
Tous ces langages sont traités par le navigateur du client et c'est pour cette raison qu'ils sont appelés “script client”.
Coté serveur
Si le serveur reçoit une demande de page en .php à traiter par le client, le serveur va donc l'envoyer à sont “interpréteur qui est le module PHP”, le module PHP va alors traiter le contenu PHP, il va ensuite recréer une page compréhensible pour le serveur HTTP qui ne comprend que du html, ensuite le serveur HTTP va renvoyer la page au client qui sera donc une page formatée en HTML qui est le langage compréhensible par le navigateur.
Le php se traite toujours du coté du serveur et c'est bien pour cela qu'on l'appel du “script serveur”.
Si l'on veut que Apache traite par exemple du “Perl” il faudra bien sûre installer le module perl pour apache et aller déclarer à Apache de prendre en charge le Perl par l'intermédiaire de son module.
Pour infos: Modules Apache
Quels sont les modules disponible à installer ?
pkg search mod_php mod_php73-7.3.26 PHP Scripting Language mod_php74-7.4.14 PHP Scripting Language mod_php80-8.0.1 PHP Scripting Language
Quel module est installé sur ma machine ?
pkg info | grep mod_php mod_php74-7.4.14 PHP Scripting Language
Installation du module PHP
pkg install mod_php74
Configuration de httpd.conf
vim /usr/local/etc/apache24/httpd.conf # Ajout de index.php DirectoryIndex index.html index.php # Ajout de la prise en charge du MODULE PHP <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
service php-fpm restart service apache24 restart
Test du fonctionnement du module php
- on crée un fichier info.php
- on met dans la racine du serveur Web
- on se rend sur http://ip_du_serveur/info.php
<?php phpinfo(); ?>
