Pages : 1
#1 Le 30/01/2006, à 10: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
Dernière modification par esse (Le 31/01/2006, à 10:08)
Hors ligne
#2 Le 30/01/2006, à 11: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, à 11: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, à 11:48)
Hors ligne
#4 Le 30/01/2006, à 15: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, à 15: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 à 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
#6 Le 31/01/2006, à 10: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 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
J'espère que ça pourra servir
Hors ligne
#7 Le 08/03/2006, à 20: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 08/03/2006, à 23: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 08/03/2006, à 23:08)
Hors ligne
#9 Le 11/03/2006, à 20: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
Hors ligne
#10 Le 14/04/2006, à 18: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 !
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, à 18: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 !
#12 Le 20/04/2006, à 12: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, à 18:42
- Mayeulk
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.
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, à 11: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, à 17: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
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, à 19:53
- XXavier
Re : [Résolu] Apache ne comprend pas le php
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 ?
Pages : 1