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.
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”.
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
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
pkg info | grep mod_php mod_php74-7.4.14 PHP Scripting Language
pkg install mod_php74
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
<?php phpinfo(); ?>