Problème : Apache affiche le code PHP brut
Parfois, lorsqu'Apache sert des fichiers PHP, il affiche le code PHP brut au lieu de l'exécuter. Ce problème empêche le bon fonctionnement des sites web et applications basés sur PHP. Plusieurs problèmes de configuration ou éléments manquants dans la configuration du serveur peuvent en être la cause.
Causes potentielles de la non-exécution du PHP par Apache
Problèmes de configuration d'Apache
Apache peut ne pas exécuter le code PHP en raison de problèmes de configuration. Un module PHP manquant peut empêcher Apache de traiter les fichiers PHP. Si le module PHP est présent mais mal chargé, Apache ne reconnaîtra pas le code PHP. Des associations de fichiers incorrectes peuvent également amener Apache à traiter les fichiers PHP comme du texte brut plutôt que comme des scripts.
Conseil: Vérifier la configuration d'Apache
Pour vérifier si Apache est correctement configuré pour gérer PHP, recherchez la ligne suivante dans votre fichier de configuration Apache (généralement httpd.conf ou apache2.conf) :
LoadModule php_module modules/libphp.so
Assurez-vous que cette ligne n'est pas commentée et que le chemin vers le module PHP est correct.
Problèmes d'installation de PHP
Des problèmes d'installation de PHP peuvent entraîner des difficultés d'exécution. Une installation incomplète de PHP peut entraîner l'absence de composants nécessaires à son bon fonctionnement. L'utilisation d'une version de PHP qui ne correspond pas à votre installation Apache peut causer des conflits. Un fichier php.ini mal configuré peut empêcher Apache de reconnaître ou d'exécuter correctement le code PHP.
Solutions aux problèmes d'exécution PHP d'Apache
Vérification du module PHP d'Apache
Pour résoudre les problèmes d'exécution PHP d'Apache, vérifiez la configuration d'Apache pour le module PHP. Recherchez une ligne qui charge le module PHP, comme LoadModule php_module modules/libphp.so
. Assurez-vous que cette ligne n'est pas commentée et que le chemin vers le module est correct. Si le module est manquant, vous devrez peut-être l'installer ou mettre à jour votre configuration Apache.
Vérifiez que le chemin du module est correct. Le chemin doit pointer vers l'emplacement de votre installation PHP. Si vous n'êtes pas sûr du chemin correct, consultez la documentation de votre installation PHP ou utilisez la commande whereis php
sur les systèmes Unix pour trouver les fichiers PHP.
Pour confirmer l'activation du module, redémarrez Apache et vérifiez les logs d'erreur pour les messages liés au chargement du module PHP. S'il n'y a pas d'erreurs, le module devrait être actif.
Conseil: Vérifier le module PHP avec phpinfo()
Créez un fichier PHP avec la fonction phpinfo() pour vérifier si PHP fonctionne correctement :
<?php
phpinfo();
?>
Enregistrez-le sous le nom info.php dans votre répertoire racine web et accédez-y via votre navigateur. Si vous voyez la page de configuration PHP, le module fonctionne.
Configuration d'Apache pour gérer les fichiers PHP
Ajoutez le type MIME correct pour PHP en incluant cette ligne dans votre configuration Apache :
AddType application/x-httpd-php .php
Cela indique à Apache de traiter les fichiers avec l'extension .php comme des scripts PHP.
Configurez les extensions de fichiers en ajoutant toutes les autres extensions que vous voulez qu'Apache traite comme des fichiers PHP. Par exemple :
AddType application/x-httpd-php .php .phtml
Après avoir effectué ces modifications, redémarrez Apache pour appliquer la nouvelle configuration. Sur la plupart des systèmes, vous pouvez le faire avec la commande sudo service apache2 restart
ou sudo systemctl restart apache2
.
Dépannage de l'installation PHP
Confirmez que PHP est installé en exécutant php -v
dans la ligne de commande. Cette commande affiche la version de PHP et les détails de l'installation. Si cela ne fonctionne pas, PHP n'est peut-être pas installé ou n'est pas dans le PATH de votre système.
Vérifiez la compatibilité de la version PHP avec votre installation Apache. Assurez-vous d'utiliser une version de PHP compatible avec votre version d'Apache. Consultez la documentation d'Apache et de PHP pour trouver les versions compatibles.
Examinez vos paramètres php.ini pour vous assurer que PHP est correctement configuré. Recherchez des paramètres comme display_errors
et error_reporting
pour aider à diagnostiquer tout problème lié à PHP. Vous pouvez trouver l'emplacement de votre fichier php.ini en exécutant php --ini
dans la ligne de commande.