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 e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *