PHP ne s’execute pas mais se télécharge…

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
    # (from  to .) 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
    # (from  to .) 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 cool

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *