Après une installation rapide de Apache, Mysql et de PHP, vos doigts vous démangent à l'idée d'écrire votre premier bout de code. Par précaution, vous avez activé le module userdir pour "bricoler" dans votre répertoire public_html. Histoire de ne pas polluer le répertoire /var/www.
Seulement voilà, après l'écriture de votre premier index.php, vous ouvrez votre navigateur préféré sur http://localhost/~mon_nom/index.php et surprise : une belle boite de dialogue apparaît pour vous proposer d'enregistrer le fichier index.php…
En clair, Apache a transféré directement votre fichier au navigateur sans la moindre interprétation de PHP… Pas bien !
Tout vient de la configuration par défaut de Apache et plus précisément du module php5. Si vous ouvrez le fichier /etc/apache2/mods-enabled/php5.conf, vous y trouverez ceci :
SetHandler application/x-httpd-php SetHandler application/x-httpd-php-source # To re-enable php in user directories comment the following lines # (fromto .) Do NOT set it to On as it # prevents .htaccess files from disabling it.php_admin_value engine Off
Tout est dit dans le commentaire : "To re-enable php in user directories…". En bon français, il suffit de commenter avec un # les lignes 11 à 15 comme ceci :
SetHandler application/x-httpd-php SetHandler application/x-httpd-php-source # To re-enable php in user directories comment the following lines # (fromto .) Do NOT set it to On as it # prevents .htaccess files from disabling it. ## # php_admin_value engine Off # #
Une fois la modification effectuée, pensez à redémarrer Apache avec un :
sudo /etc/init.d/apache2 restart
Recharger votre page dans votre navigateur et l'interprétation de votre premier bout de code PHP apparait devant vos yeux ebaillis