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 30/01/2006, à 11:05

esse

[Résolu] Apache ne comprend pas le php

Bonjour,
Je débute sur Kubuntu (breezy 5.10) et Linux en général et j'ai passé plusieurs heures à chercher sur le forum des solutions à mon problème mais je n'ai rien trouvé.
J'ai installé mysql 4.1 et phpmyadmin (avec le tutoriel du wiki) pour avoir apache2 et php4.
Apache a l'air de tourner puisque j'accède à la page http://localhost mais si je veux aller sur localhost/phpmyadmin, il me demande si je veux télécharger un fichier .phtml
Idem lorsque je crée un fichier test.php avec phpinfo() dedans.
Les solutions trouvées sur le forum pour ceux qui avait ce problème n'ont rien changé...
Je suis allé voir /etc/apache2/httpd.conf et voici ce qu'il contient :

# This is here for backwards compatability reasons and to support
#  installing 3rd party modules directly via apxs2, rather than
#  through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so

Bizarre non ?

Si vous avec une idée... AU SECOURS !!! parce que j'ai pas vraiment envie de revenir à windows et easyphp wink

Dernière modification par esse (Le 31/01/2006, à 11:08)

Hors ligne

#2 Le 30/01/2006, à 12:33

Vincentf

Re : [Résolu] Apache ne comprend pas le php

Salut,
Essaye de rajouter ces deux lignes a la fin de ton /etc/apache2/httpd.conf :

AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps

Dis nous ce que ca donne ?

Hors ligne

#3 Le 30/01/2006, à 12:44

esse

Re : [Résolu] Apache ne comprend pas le php

C'est fait.
Apache relancé avec :

/etc/init.d/apache2 reload

mais ça ne change que le type de fichier à télécharger : ce n'est plus du "phtml" mais "script php"

Un question me tarrode : il est pas un peu léger mon httpd.conf ??

Dernière modification par esse (Le 30/01/2006, à 12:48)

Hors ligne

#4 Le 30/01/2006, à 16:18

esse

Re : [Résolu] Apache ne comprend pas le php

bon, j'ai viré apache2 pour installer apache... décommenté les lignes AddType application/x-httpd-php .php .php3 .phtml et AddType application/x-httpd-php-source .phps mais ça ne marche toujours pas...

Hors ligne

#5 Le 30/01/2006, à 16:39

judgedeus

Re : [Résolu] Apache ne comprend pas le php

Salut,

j'ai peut-être une soluce pour toi;)

va dans /etc/apache2/mods-enabled/
et vérifie que tu as 2 liens symboliques appelés php4.conf et php4.load

Si il n'y sont pas, va voir dans /etc/apache2/mods-avaible/ si il y sont.

Si ils existent il ne te reste plus qu'à taper
/etc/apache2/mods-enabled/ln -s ../mods-avaibled/php4.conf
/etc/apache2/mods-enabled/ln -s ../mods-avaibled/php4.load

vérifie que dans php4.conf  tu les lignes suivantes :
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>

Dans le cas où ces fichiers n'existeraient pas tu peux taper :
apt-get install Libapache2-mod-php4

cela va installer les module cités plus haut dans apache2.

Il ne te restera plus qu'a vérifier plus haut que les liens symboliques existent dans /etc/apache2/mods-enabled/ pour php4
et à relancer  apache2 : /etc/init.d/apache2 restart

En espérant avoir trouver ton problème wink à bientôt

PS : c'est normal que ton httpd.conf soit vide, toutes les informations concernant la configuration de apache2 se trouvent dans le fichier apache2.conf maintenant wink

#6 Le 31/01/2006, à 11:08

esse

Re : [Résolu] Apache ne comprend pas le php

Bon, ça yééé ! ça tourne... ouf. Mais pas avec les indication de judgedeus, merci quand même smile puisque j'ai installé apache et viré apache2

Pour ceux que ça intéresse voici ce que j'ai fait :
pour voir les paquets installés :

dpkg -l |grep apache

affiche (selon les config) :

ii  apache             
ii  apache-common
rc  apache2-common
ii  apache2-utils 
ii  libapache-mod-php4

suppression des paquets en trop :

dpkg --remove libapache2-mod-php4
dpkg --purge libapache2-mod-php4
dpkg --remove apache2-mpm-prefork
dpkg --remove apache2-common

redémarrage de apache :

/etc/init.d/apache restart

A ce stade php était reconnu dans /home/*/public_html/ mais pas à la racine d'apache /var/www/ (où est placé phpmyadmin...)
Donc pour résoudre ça :
Edition de /etc/apache/httpd.conf :

DocumentRoot /var/www

<Directory />
    Options SymLinksIfOwnerMatch
    AllowOverride None
</Directory>

<Directory /var/www/>
    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride All All
    Order allow,deny
    Allow from all
</Directory>

où dans <Directory /var/www/> à la ligne  AllowOverride j'ai ajouté à la suite All All

Voilà, un grand merci à Toto qui m'a donné la soluce smile
J'espère que ça pourra servir

Hors ligne

#7 Le 08/03/2006, à 21:17

fable

Re : [Résolu] Apache ne comprend pas le php

Salut à tous,

Voilà, j'ai le même problème, dans le fichier httpd.conf, je n'ai que ces quelques lignes :

# This is here for backwards compatability reasons and to support
#  installing 3rd party modules directly via apxs2, rather than
#  through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so

J'ai essayé les solutions ci-dessus, mais sans résultats, par-contre j'aimerais rester avec apache2.

Je suis débutant en linux, comment faire pour avoir le fichier httpd.conf ?

Merci.

Hors ligne

#8 Le 09/03/2006, à 00:05

lilinux

Re : [Résolu] Apache ne comprend pas le php

si tu as installé en même temps à partir de Synaptic les paquets suivant

phpmyadmin
php4
apache2
mysql-server-4.1

ça doit fonctionner en donnant les permissions au dossier www et en lui mettant les pages de ton site index.php etc...

pour les permissions tapes dans le terminal

sudo chmod 777 /var/www -R

sinon éventuellement à partir de ton installation actuelle
dans le terminal tu tapes

sudo gedit  /etc/apache2/httpd.conf

et tu inclus la ligne suivante dans le http.conf
LoadModule php4_module /usr/lib/apache2/modules/libphp4.so

et tu n'oublis pas de redémarrer apache2

sudo /etc/init.d/apache2 restart

Dernière modification par lilinux (Le 09/03/2006, à 00:08)

Hors ligne

#9 Le 11/03/2006, à 21:36

fable

Re : [Résolu] Apache ne comprend pas le php

Merci et désolé du temps de temps de réponse, mais ça n'a pas fonctionné.

J'ai vraiment un problème, lorsque j'ouvre httpd.conf avec un éditeur de texte, il n'y rien qui s'affiche dedans, il est vide, par contre avec vi, j'ai les lignes décrites dans mon 1er message.

Après avoir inclus ta ligne dans le fichier, j'obtiens :

root@ubuntu:/etc/apache2# sudo /etc/init.d/apache2 restart
 * Forcing reload of web server  (Apache2)... Syntax error on line 5 of /etc/apache2/httpd.conf:
Cannot load /usr/lib/apache2/modules/libphp4.so into server: /usr/lib/apache2/modules/libphp4.so: cannot open shared object file: No such file or directory
                                                                         [fail]

Ce qui est normal puisqu'après vérification, dans le répertoire je n'est pas libphp4.so ou libphp5.iso

Il n'y a que ces fichiers :

root@ubuntu:/usr/lib/apache2/modules# ls
httpd.exp           mod_cgid.so        mod_imap.so           mod_rewrite.so
mod_actions.so      mod_cgi.so         mod_include.so        mod_speling.so
mod_asis.so         mod_dav_fs.so      mod_info.so           mod_ssl.so
mod_auth_anon.so    mod_dav.so         mod_ldap.so           mod_suexec.so
mod_auth_dbm.so     mod_deflate.so     mod_mem_cache.so      mod_unique_id.so
mod_auth_digest.so  mod_disk_cache.so  mod_mime_magic.so     mod_userdir.so
mod_auth_ldap.so    mod_expires.so     mod_proxy_connect.so  mod_usertrack.so
mod_auth_mysql.so   mod_ext_filter.so  mod_proxy_ftp.so      mod_vhost_alias.so
mod_cache.so        mod_file_cache.so  mod_proxy_http.so
mod_cern_meta.so    mod_headers.so     mod_proxy.so

Je crois que je vais tout désinstaller et réinstaller en manu car là, je ne comprends pas, je sens que je vais galérer hmm

Hors ligne

#10 Le 14/04/2006, à 19:18

Naloj

Re : [Résolu] Apache ne comprend pas le php

Pour installer le module PHP, 4 ou 5, il te faut récupérer le package "apache2-mod-php4" ou "apache2-mod-php5". Par exemple, après avoir installé apache2, php5, etc. :

# Apache 2
apt-get install apache2 apache2-doc apache2-utils apache2-mpm-prefork

# PHP et qq extensions
apt-get install php5 php5-gd 

# et surtout le module !
[b]apt-get install apache2-mod-php5[/b]

Comme l'a indiqué Lilinux il faut ensuite indiquer à Apache 2 d'utiliser le module en ajoutant la ligne suivante dans le http.conf :

LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

Apache 1 et Apache 2 ont une organisation différente des fichiers de configuration ( dans /etc/apache2/ sous Ubuntu si installés avec apt-get ). Dans Apache 2, le fichier de configuration principal est le "apache2.conf" et non plus "httpd.conf" - qui est conservé pour raisons de rétrocompatibilité et reste tujours utilisable.
On peut donc placer le LoadModule pour PHP dans "httpd.conf" ; par exemple.
Pourtant, même si cela fonctionnerait encore, Apache 2 propose une autre organisation, par dossiers : il suffit de mettre les paramètres dans des fichiers dans les 3 dossiers suivants :

- conf.d   :               pour les paramètres propres à Apache 2

- mods-available :   pour les modules du serveur Apache 2 ( fichiers en .so, généralement placé dans /usr/lib/apache2 ) en utilisant une ligne "LoadModule ..... ...... "

- sites-available  :   pour indiquer les "sites" disponibles, creer des "alias" ( correspondance sur le serveur entre une adresse URL et un dossier de la machine) et surtout, donner des droits d'acces aux dossiers de la machine grace aux sections :

<Directory "/chemin/du/dosssier">
         droits d'accès
</Directory>


Par défaut, dans le dossier "mods-available" sont déjà présents des fichiers de configuration pour un certains nombre de modules ( en fichiers .load et .conf ) qui définissent les associations type de fichier/module entre autre pour PHP :
Contenu du fichier "php5.conf" :
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps

Dans le dossier "sites-available", on ajoutera les fichiers définissants des alias et/ou des droits pour les dossier que l'on souhaite rendre accessible par le serveur - peut importe le nom de ces fichiers .

Par exemple: j'ai ajouté un alias "/www" vers mon dossier "/media/clients/SITES_WEB" en mettant les droits d'accès à ce dossier qui est sur un disque FAT 32 ce qui me permet d'acceder à mes fichiers depuis Windows également ( sur lequel, moquons nous, j'utilise XAMPP - quand même plus sympa qu'EasyPHP... enfin plus complet, surtout, car il intègre pas mal d'extensions PHP par défaut, et que son installation est toute aussi facile et instantanée ):P ... tout ca pour profiter de temps en temps de Dreamwever et Flash. Mais je me sens bien mieux sous ma chère Ubuntu, avec un vrai Apache 2 + PHP 5 que je peux configurer à loisir.

Si l'on revient au dossier "sites-available", précisons que pour qu'Apache "valide" les sites ajoutés on peut ( et il faut, je crois ) employer les utilitaires concus à cet effet :

# pour valider un nouveau fichier de config. de site dans le dossier
a2ensite nomFichierConfig

# pour le "désactiver"
a2dissite nomFichierConfig

De même, il existe les utilistaires a2enmod et a2dismod pour activer/désactiver des fichiers de configuration de modules. J'ai lu cela dans le mini README d'Apache 2.
J'étais complétement perdu la-dedans mais après un moment à écumer notre forum Ubuntu-FR adoré ( et les docs d'Apaches/PHP...) j'ai ce qu'il faut qui fonctionne et je pense avoir compris un vrai pti bout ! smile

Je pense qu'il faudrait pas faire une page wiki pour dire tout ca, vu tous les topics sur le sujets. Et je veux bien m'y employer si vous trouvez que ca vaut le coup. Et que des experts expliquent certaines arcanes encores obscures pas difficiles d'après ce que j'ai entrevu.

#11 Le 14/04/2006, à 19:34

Naloj

Re : [Résolu] Apache ne comprend pas le php

EDIT : en fait, en utilisant le mécanisme Apache [ enable/disable ] , si "php5.load" et "php5.conf" sont bien présent dans le dossier "mods-available",  il suffit de saisir la commande suivante pour activer PHP 5 depuis /etc/apache2/ ( ou depuis n'importe même, j'ai l'impression !? ) :

a2enmod php5

TADAM ! smile

#12 Le 20/04/2006, à 13:17

emixam

Re : [Résolu] Apache ne comprend pas le php

moi y a le paquet phpmyadmin qui bloque tout.
Quand je le désinstalle depuis apt-get il me dit qu'il y a eu une erreur.


http://emixam.website.free.fr
http://playing-community.codingteam.net
"Linux is just like an indian tent: no Gates, no Windows and an Apache inside..."

Hors ligne

#13 Le 21/04/2006, à 19:42

Mayeulk

Re : [Résolu] Apache ne comprend pas le php

emixam a écrit :

moi y a le paquet phpmyadmin qui bloque tout.
Quand je le désinstalle depuis apt-get il me dit qu'il y a eu une erreur.

J'ai eu ça aussi.
J'ai tout désinstallé.
Tout ne se désinstalle pas.
J'ai un peu essayé de réinstaller, sans succès.
Il faut réparer le paquet cassé avec synaptic.
On peut ensuite désinstaller phpmyadmin.
Je ne sais plus dans quel ordre j'ai fait tout ça, désolé.

#14 Le 07/05/2006, à 12:54

Naloj

Re : [Résolu] Apache ne comprend pas le php

Oui, le paquet PHPMyAdmin fait un peu n'importe quoi, mieux veut faire sans et installer PHPMyadmin à la main après.
C'est juste un dossier à décompresser, et puis sur le site officiel, il y a la toute dernière version.

Hors ligne

#15 Le 09/05/2006, à 18:15

chapodepay

Re : [Résolu] Apache ne comprend pas le php

je vien de faire la meme chose, phpmyadmin bloquant,

fais un

sudo mv /var/www/phpmyadmin /var/

qui te le déplacera le temps des installations désinstallation de se ke tu veux (moi ct dans le cadre du passage de php4 a php5)

quand ta fini ton bouiboui, tu fais l'inverse :

sudo mv /var/phpmyadmin /var/www/

et rulez

PS attention au adresse smile


PC1: MSI P35 Platinum, DD: 72Go 10.000rpm, Q6600 @3.15Ghz, 4Go ddr2 corsair, 8800GTS... CPU + GPU sous watercooling zalman, DD: 4.5To
Serveur : Intel Bi-Xeon i7 2x2.93Ghz, mémoire vive : 24Go DDR3

Hors ligne

#16 Le 05/09/2006, à 20:53

XXavier

Re : [Résolu] Apache ne comprend pas le php

neutral Moi j'ai essayé après trois installations d'Ubuntu (maintenant la 6), puis autant de fois Apache.
Je voulais juste avoir un Apache2 et un php5. A chaque fois que je tombe sur un tuto je lis que c'est une hérésie d'installer xampp puisque le système peut le faire directement (et je suis d'accord, d'autant plus que l'on n'est pas contraint au htdoc).
Mais en vérité, l'install capote constemment, et il faut une expérience de deux siècles de sudo et de ses copains pour savoir dans quel ordre poser le tout. Je suis d'autant plus déçu que cela fait des mois que je m'échine à paramétrer un serveur, et que mes codes php en attendant n'avancent pas. J'en suis toujours à un apache qui démarre et des fichiers php qui au lieu d'être interpretés sont proposés en téléchargement... Et ce malgré la consultation du forum.
Que faut-il vraiment faire. Y a-t-il une solution simple en dehors d'Xampp ?