Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2016, à 18:16

Eloen

Php "téléchargé" au lieu de s'exécuter [Résolu]

Bonjour ^^

depuis une semaine, j'ai tenté de faire fonctionner un serveur apache couplé avec phpmyadmin. Le problème est que lorsque je tente de lancer un .php mon navigateur me propose de le télécharger au lieu de l'afficher. J'ai tenté toutes les réinstallations possibles en consultant une tonne de sites web en français comme en anglais. Ce que j'ai tenté et qui ne marche apparemment pas :

- Commenter dans

/etc/apache2/mods-enabled/php5.conf

le code suivant :

#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

- Télécharger ceci :

 sudo apt-get install libapache2-mod-php5

Puis faire : 

sudo a2enmod php5

- Changer le chemin du var/www avec un home/monUser/www-dev

Et évidemment avec un petit

/etc/init.d/apache2 restart

entre chaque nouvelle modification + vider le cache du navigateur

Et ce n'est pas un problème de php enfin je pense. Voici mon code :

<?php 
echo 'hellow';
?>

enregistré en bonjour.php

J'ai essayé encore je ne sais pas combien de solutions qui avaient l'air d'avoir marché pour certains, réinstallé je ne sais combien de fois php ou encore apache, redémarré ma machine ...  mais impossible de faire marcher ces .php ... je ne comprend vraiment pas où est mon erreur. Pourriez-vous m'aider? Je commence à vraiment saturer hmm

Dernière modification par Eloen (Le 17/04/2016, à 22:18)

Hors ligne

#2 Le 17/04/2016, à 18:25

bobe

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Salut,

Et si tu nous donnais le contenu de mods-enabled/php5.conf.
Regarde aussi dans conf-enabled/ s'il y a un fichier de configuration en rapport avec php.

Hors ligne

#3 Le 17/04/2016, à 18:30

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Pourquoi "- Changer le chemin du var/www avec un home/monUser/www-dev" ?
As-tu fait un vhost ou est-ce encore un bricolage à coup de ln ?


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#4 Le 17/04/2016, à 18:35

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Bonjour ^^
Alors le contenu de mods-enabled/php5.conf :

   SetHandler application/x-httpd-php-source
    # Deny access to raw php sources by default
    # To re-enable it's recommended to enable access to the files
    # only in specific virtual host or directory
    Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(p[345]?|t|tml|ps)$">
    Require all denied
</FilesMatch>

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

(Les 5 dernières lignes sont commentées, mais à la base elles ne l'étaient pas).

Et qu'est-ce que tu entends par en rapport avec php?
Dans conf-enabled/ il y a les fichiers : charset.conf, localized-error-pages.conf, other-vhosts-access-log.conf, security.conf, serve-cgi-bin.conf

(Je débute encore avec Ubuntu si jamais)


Pour répondre à jplemoine : j'ai lu ce terme vhost quand j'ai fait les modifications, mais je ne sais pas si c'est ça. J'ai été dans les fichiers 000-default.conf et default-ssl.conf et j'ai changé les lignes avec DocumentRoot

Hors ligne

#5 Le 17/04/2016, à 18:42

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

On va dire qu'il y a mieux à faire mais que ça élimine une piste que j'avais en tête.
Pas d'idée plus que ça... As-tu regardé les fichiers log (/var/log/apache2) ? (il y a peut-être un indice)


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#6 Le 17/04/2016, à 18:45

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Pas du tout regardé ! Qu'est-ce qu'il faudrait y trouver? (J'ai été dans le dossier, il y a access.log, access.log.1, access.log.2.gz, access.log.3.gz, access.log.4.gz, error.log, error.log.1, error.log.2.gz, error.log.3.gz, error.log.4.gz, error.log.5.gz, other_vhosts_access.log )

Hors ligne

#7 Le 17/04/2016, à 18:59

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

regarde ceux sans .1, .2,...
- tu fais un

ls -ldrt *

pour regarder la date et heure du fichier le plus récent
- tu accèdes à ta page (bonjour.php)
- tu fais un

ls -ldrt *

pour regarder celui ou ceux qui ont été modifié

Dernière modification par jplemoine (Le 17/04/2016, à 19:52)


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#8 Le 17/04/2016, à 19:06

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Je ne dois pas avoir bien compris. J'ai tapé la commande un ls -ldrt * et ça m'a mis "un : command not found"
Qu'est-ce que tu entendais par regarder les fichiers? Avec cette commande?

Hors ligne

#9 Le 17/04/2016, à 19:52

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

commande corrigée le un ne fait pas partie de la commande. désolé.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#10 Le 17/04/2016, à 20:02

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Je ne sais pas si ça peut aider, mais quand je fais reload j'ai cette erreur :

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Sinon avec la commande que tu m'as proposée ça met :

lrwxrwxrwx 1 root root 37 avril 17 16:27 php4.load -> /etc/apache2/mods-available/php4.load
root@nomUser:~# ls -ldrt *
lrwxrwxrwx 1 root root 37 avril 17 16:27 php4.load -> /etc/apache2/mods-available/php4.load

Merci de ta patience en tout cas ^^

Hors ligne

#11 Le 17/04/2016, à 20:43

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Il faut faire un

cd /var/log/apache2

avant de lancer les ls


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#12 Le 17/04/2016, à 20:58

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Ah oui évidemment ! Zut...

Bon après avoir fait les bons trucs cette fois ça donne donc :

-rw-r----- 1 root adm   0 avril 17 20:46 other_vhosts_access.log
-rw-r----- 1 root adm 997 avril 17 20:47 error.log
-rw-r----- 1 root adm 682 avril 17 20:47 access.log
root@nomUser:/var/log/apache2# ls -ldrt *
-rw-r----- 1 root adm   0 avril 17 20:46 other_vhosts_access.log
-rw-r----- 1 root adm 997 avril 17 20:47 error.log
-rw-r----- 1 root adm 682 avril 17 20:47 access.log

Je n'ai pas l'impression d'un changement, après c'est peut-être bon signe?

Hors ligne

#13 Le 17/04/2016, à 21:06

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Ben non... Il me vient un doute : c'est Apache qui est censé répondre sur le port 80 ou pas ?


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#14 Le 17/04/2016, à 21:08

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Que donne :

sudo netstat -tpl | grep 80
sudo netstat -tpl | grep http

Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#15 Le 17/04/2016, à 21:19

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

J'avoue que je ne sais pas du tout sur quel port Apache doit répondre hmm
(J'ai tapé sur google et ça a l'air d'être le port 80, après je ne suis pas une source fiable ^^)

Pour les commandes ça me donne :

root@nomUser:/opt/lampp/htdocs# sudo netstat -tpl | grep 80
tcp        0      0 localhost:mysql         *:*                     LISTEN      15809/mysqld    
root@nomUser:/opt/lampp/htdocs# sudo netstat -tpl | grep http
tcp6       0      0 [::]:http               [::]:*                  LISTEN      17766/apache2   

Hors ligne

#16 Le 17/04/2016, à 21:41

J5012

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

mon php5.load :

cat /etc/apache2/mods-available/php5.load
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

mon php5.conf :

cat /etc/apache2/mods-available/php5.conf
<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
	SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
	SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    <IfModule mod_userdir.c>
        <Directory /home/*/public_html>
            php_admin_value engine Off
        </Directory>
    </IfModule>
</IfModule>

pour la securité des fichiers bruts , ecrits en php mais sans extension, il n'y a pas d'execution : on obtient une page blanche ...

Hors ligne

#17 Le 17/04/2016, à 21:51

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

J'ai le même php5.load apparemment. Par contre, pour le php5.conf j'ai :

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
    SetHandler application/x-httpd-php-source
    # Deny access to raw php sources by default
    # To re-enable it's recommended to enable access to the files
    # only in specific virtual host or directory
    Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
</FilesMatch>
  php_value display_errors on
<FilesMatch >
  SetHandler

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
 #   <Directory /home/*/public_html>
  #      php_admin_flag engine Off
   # </Directory>
#</IfModule>

Oui, mais du coup, ça n'écrit pas de php non? Le but c'est que le php soit reconnu ^^ (Ou alors je n'ai pas compris ce que tu voulais dire).

Hors ligne

#18 Le 17/04/2016, à 21:55

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

C'est bien Apache2 qui répond : donc, tu as dû te tromper dans ton test...
on va tester un truc :
que donne

ps aux | grep apache

Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#19 Le 17/04/2016, à 21:58

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Dans quel test? (Mais oui, il est très fort possible que l'erreur soit entre la chaise et le clavier ^^)

Pour cette commande j'obtiens :

root     17766  0.0  0.5 241284 21328 ?        Ss   20:47   0:00 /usr/sbin/apache2 -k start
www-data 17769  0.0  0.2 241544  8652 ?        S    20:47   0:00 /usr/sbin/apache2 -k start
www-data 17770  0.0  0.1 241324  7472 ?        S    20:47   0:00 /usr/sbin/apache2 -k start
www-data 17771  0.0  0.2 241544  8652 ?        S    20:47   0:00 /usr/sbin/apache2 -k start
www-data 17772  0.0  0.1 241324  7472 ?        S    20:47   0:00 /usr/sbin/apache2 -k start
www-data 17773  0.0  0.1 241324  7428 ?        S    20:47   0:00 /usr/sbin/apache2 -k start
www-data 17814  0.0  0.2 241544  8984 ?        S    20:47   0:00 /usr/sbin/apache2 -k start
root     25868  0.0  0.0  13700  2220 pts/17   S+   22:56   0:00 grep --color=auto apache

Hors ligne

#20 Le 17/04/2016, à 22:02

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Je viens de tester : si tu accèdes à un page (exemple : bonjour.php), il y a toujours un log...
Rassure-moi sur un point : tu fais comment pour accéder à ta page ?


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#21 Le 17/04/2016, à 22:08

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Vu que j'ai créé un autre chemin, (et copié/collé dans les deux dossiers), je l'ouvre avec un des deux liens (en tapant l'url).

file:///nomUser/www-dev/bonjour.php

file:///var/www/html/bonjour.php

Et ça me propose de télécharger le fichier .php
Il y a un autre moyen de faire?
(Merci encore de ta patience, je ne comprend vraiment pas comment faire marcher tout ça, je n'avais pas l'impression de faire de fautes hmm )

Dernière modification par Eloen (Le 17/04/2016, à 22:08)

Hors ligne

#22 Le 17/04/2016, à 22:12

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Purée, que je suis c... !!!! La solution était tellement évidente.....


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#23 Le 17/04/2016, à 22:14

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Pour y avoir passé des jours dessus ça m'intrigue !

Hors ligne

#24 Le 17/04/2016, à 22:14

jplemoine

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Le Php doit s’exécuter sur le serveur avant d'envoyer le résultat dans le navigateur.
Donc, il ne faut pas lire le fichier (ce que tu as fait) mais le faire "exécuter" par le serveur.
il faut donc y accéder par http://localhost/bonjour.php (à taper dans la barre d'adresse de ton navigateur préféré..).


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#25 Le 17/04/2016, à 22:17

Eloen

Re : Php "téléchargé" au lieu de s'exécuter [Résolu]

Oh non ... c'était juste ça ... je me sens vraiment très bête là ...

C'était évident ... et ça marche lol

Pfou le soulagement ! Merci beaucoup de ta patience ! Mille fois merci !

Hors ligne