[Win] Apache, PHP et httpd.conf (corrigé, et ça vaut le coup d'oeil)

Apache, PHP et httpd.conf (corrigé, et ça vaut le coup d'oeil) [Win] - Logiciels - Windows & Software

Marsh Posté le 25-01-2005 à 11:46:48    

Salut,
 
Bon là je craque :'-(
 
J'ai un souci de config de mon fichier httpd.conf, PHP n'est pas supporté alors qu'il semble être installé correctement. La partie HTML, elle, fonctionne bien.
 
Lignes de mon httpd.conf concernant php :
 


LoadModule php4_module c:/php/sapi/php4apache.dll
(...)
AddModule mod_php4.c
(...)
<IfModule mod_php4.c>
 AddType application/x-httpd-php .php .php3 .php4
 AddType application/x-httpd-php-source .phps
</IfModule>


 
Où se cache l'erreur ? Est-ce un truc à la con que je n'ai pas vu ?
 
D'une minute à l'autre, mon serveur s'est arrêté de fonctionner correctement. Il a dû se passer quelque chose, mais quoi ? :??:
 
Merci d'avance !


Message édité par Fred999 le 25-01-2005 à 16:57:59
Reply

Marsh Posté le 25-01-2005 à 11:46:48   

Reply

Marsh Posté le 25-01-2005 à 14:26:05    

Up [:kalisto]
 
Je me suis retapé une install *propre*, à savoir :
 
-> Apache 1.3.33 à partir de l'install Windows
-> php 4.3.9 à partir du zip, dans c:\php
-> copie du php.ini modifié dans c:\winnt (je suis sous NT4)
-> copie de php4ts.dll dans c:\winnt\system32
-> configuration du fichier httpd.conf avec les lignes vues au-dessus
-> redémarrage du serveur, la syntaxe du fichier est bonne (d'après le correcteur lancé en ligne de commande)
 
Et il refuse toujours d'interpréter toute instruction PHP, même un bête <?php phpinfo(); ?> seul ne tourne pas :/
 
Le fichier access.log se remplit normalement, et le fichier error.log reste désespérément vide !
 
Os court !


Message édité par Fred999 le 25-01-2005 à 14:28:01
Reply

Marsh Posté le 25-01-2005 à 14:29:48    

Tu ne dis pas quelle erreur est affiche exactement !
Donne plus de details !
 
Quand tu demarres apache, es-tu sur qu'il charge bien le module php4apache.dll ? Regarde dans tes logs apache (fichier error.log) ... si tu as le meme probleme que moi, je pourrai peut-etre t'aider.

Reply

Marsh Posté le 25-01-2005 à 14:33:03    

essaye easyphp [:nofret]

Reply

Marsh Posté le 25-01-2005 à 14:34:49    

Bin justement... Il n'y a PAS d'erreur, mais le code PHP n'est pas interprété et je peux même le voir dans le code source de la page (sous mon navigateur).
 
Je ne suis pas sûr qu'il soit chargé, mais je ne connais pas la commande qui me permettrait de lister les modules du serveur Apache.

Reply

Marsh Posté le 25-01-2005 à 14:35:25    

krapaud a écrit :

essaye easyphp [:nofret]


 
J'ai même essayé ça, sans succès, une erreur de port déjà utilisé que els méthodes de résolution n'ont pas corrigée.

Reply

Marsh Posté le 25-01-2005 à 14:37:41    

bizarre, t'as un IIS qui tourne?

Reply

Marsh Posté le 25-01-2005 à 14:39:19    

Bon OK. Fais ca:
 
Copie (ne deplace PAS !!) la dll php4ts.dll se trouvant dans ton repertoire php dans le repertoire "C:\Program Files\Apache Group\Apache\"
 
Ensuite redemarre ton serveur apache.
 
D'autre part es-tu sur que PHP a un moyen d'acceder a son fichier php.ini ? (Le moyen que j'utilise est la declaration d'une variable d'environnement PHPRC contenant le chemin d'acces vers ce fichier)

Reply

Marsh Posté le 25-01-2005 à 14:44:58    

krap > non.
 
Arno_ > merci :)
 
Pour la variable d'environnement, j'ai vu ça juste avant de lire ta réponse :D
 
J'ai donc rajouté la commande donnée dans l'install.txt de PHP, dans la section <Ifmodule mod_php4.c> puis en dehors de toute section, sans succès. Idem en recopiant la DLL.

Reply

Marsh Posté le 25-01-2005 à 14:49:18    

Dans httpd.conf: ton LogLevel est bien a debug ? Si oui ca devrait te donner quand meme un minimum d'info dans error.log :(
 
Comment t'as installe apache, en tant que service ou en appli standalone ?
 
Il faut absolument avoir des logs pour pouvoir diagnostiquer plus avant le probleme.

Reply

Marsh Posté le 25-01-2005 à 14:49:18   

Reply

Marsh Posté le 25-01-2005 à 14:50:18    

Ca avance...
 
Pour pouvoir lister les modules utilisés, il faut pouvoir accéder à http://localhost/server-info, ça se passe dans httpd.conf.
 
Le module mod_php4.c est bel et bien chargé !
 
Je vais tenter de le charger en dernier, peut-être que l'ordre a une importance.
 
Edit : oui, je suis en debug. Apache a été installé en tant que service "pour tous les utilisateurs".
 
Encore une fois (on sait jamais, au bout d'un moment on peur oublier la priorité :D), Apache SEUL marche, c'est son support PHP qui ne fonctionne pas :(


Message édité par Fred999 le 25-01-2005 à 14:51:29
Reply

Marsh Posté le 25-01-2005 à 14:59:27    

Mouai, je sais plus quoi dire. Je suis configure comme toi (sauf que j'ai installe en standalone et pas en service)
 
Le mod_php4.c est loade en dernier, tout le reste est comme dans to fichier httpd.conf
 
server-info montre bien que tout est ok

Reply

Marsh Posté le 25-01-2005 à 15:11:44    

Bin ouais ça me semble super louche.
 
Le seul truc pourrait être sur les chemins d'accès des fichiers... je vais essayer de tout modifer.
 
Pffff

Reply

Marsh Posté le 25-01-2005 à 15:15:36    

Bon.
 
En utilisant ProcessExplorer: sous le process apache.exe, vois-tu la dll php4apache.dll chargee (moi oui).
 
Visiblement l'interpreteur PHP ne se charge pas, mais sans pour autant empecher ton apache de demarrer.
Je vois deux raisons possibles a cela:
 
1. Apache n'arriver pas instancier toutes les DLL dont il a a besoin
2. Apache arrive a instancier PHP qui lui meme ensuite a un probleme de dependence sur une autre dll ou n'arrive pas a lire son fichier php.ini.
 
Regarde aussi avec DependencyWalker les dependences de php3apache.dll, des fois que ca te montre qq chose.

Reply

Marsh Posté le 25-01-2005 à 15:19:18    

OK merci beaucoup, je regarde ça :)

Reply

Marsh Posté le 25-01-2005 à 15:37:01    

J'ai maté ProcessExplorer (qui a d'ailleurs l'air bien sympa),  rien de neuf à l'horizon, les DLL sont chargées correctement.
 
Un collègue m'a passé un équivalent d'EasyPHP, j'essaie et vous tiens au courant.
 
Marre :/

Reply

Marsh Posté le 25-01-2005 à 16:16:50    

Bon...
 
Alors j'ai fini par installer WAMP.
 
Et ça marche. Sauf quand mon phpinfo(); est contenu dans une page qui s'appelle phpinfo.php.
 
Va comprendre Charles.
 
Merci Arno en tout cas pour ton aide :)


Message édité par Fred999 le 25-01-2005 à 16:17:04
Reply

Marsh Posté le 25-01-2005 à 16:19:15    

Fred999 a écrit :

Salut,
 
Bon là je craque :'-(
 
J'ai un souci de config de mon fichier httpd.conf, PHP n'est pas supporté alors qu'il semble être installé correctement. La partie HTML, elle, fonctionne bien.
 
Lignes de mon httpd.conf concernant php :
 


LoadModule php4_module c:/php/sapi/php4apache.dll
(...)
AddModule mod_php4.c
(...)
<IfModule mod_php4.c>
 AddType application/x-httpd-php .php .php3 .php4
 AddType application/x-httpd-php-source .phps
</IfModule>


 
Où se cache l'erreur ? Est-ce un truc à la con que je n'ai pas vu ?
 
D'une minute à l'autre, mon serveur s'est arrêté de fonctionner correctement. Il a dû se passer quelque chose, mais quoi ? :??:
 
Merci d'avance !


 
Juste par curiosité, tu pourrais éditer httpd.conf et placer les Addtype en dehors de la boucle de test ? Puis arrêter et redémarrer Apache.

Reply

Marsh Posté le 25-01-2005 à 16:24:19    

Too late, ça marche presque :/
 
J'arrive à utiliser phpMyAdmin, mais il refuse à moitié de charger les pages que je fais moi-même.
 
Et quand je colle mon DocumentRoot sur un lecteur réseau (par exemple U:\) il ne trouve plus rien, il VEUT que je mette ça sur C:\.
 
C'est du grand n'importe quoi :/

Reply

Marsh Posté le 25-01-2005 à 16:27:10    

Fred999 a écrit :

Too late, ça marche presque :/


Donc ça ne marche pas ...  :sarcastic:

Reply

Marsh Posté le 25-01-2005 à 16:32:43    

Pendant quelques instants, j'ai pu coller du PHP dans mon fichier index.php.
 
Depuis, ça ne marche plus. Le code apparaît dans la source de la page. Alors que je peux me balader dans phpMyAdmin sans aucun problème.
 
Il y a des virus qui font faire n'imp à un serveur Apache ?


Message édité par Fred999 le 25-01-2005 à 16:32:54
Reply

Marsh Posté le 25-01-2005 à 16:38:09    

Très honnêtement je ne pense pas ..
T'as essayé d'installer PHP à partir de l'installer ? Il me semble que j'ai eu un problème similaire il y a quelques semaines et que je l'avais résolu comme ça ...
 
C'est certes moins satisfaisant que d'aller fouiner dans les fichiers de conf, mais si ça peut te faire avancer ....  [:spamafote]

Reply

Marsh Posté le 25-01-2005 à 16:43:18    

J'ai installé le package WAMP :sweat:
 
Là, très honnêtement, je ne comprends vraiment plus rien.
 
Dans mon DocumentRoot, j'ai deux fichiers :  
 
biloute.php et index.php.
 
Les deux contiennent <? echo 'bonjour'; ?>
 
L'un affiche bien 'bonjour', l'autre n'affiche rien.
 
Dommage que je n'ai pas de quoi faire le truc, je vous aurais bien fait un film sous FRAPS pour vous prouver que je ne mens pas !!!

Reply

Marsh Posté le 25-01-2005 à 16:46:28    

Lequel affiche 'bonjour' ? [:mlc]

Reply

Marsh Posté le 25-01-2005 à 16:52:15    

CA Y EST §§§
 
Alors là... C'est ultra(edit) tiré par les cheveux.
 
Tout venait en fait de la table de caractères utilisée !!!
 
Il semble que certains de mes fichiers soient en Unicode, or Apache veut du ASCII et uniquement du ASCII.
 
Comment j'ai vu ça ? En double-cliquant sur un fichier .bak, Wordpad s'est lancé automatiquement (au lieu d'Ultraedit, c'était donc une manip non voulue) et m'a dit "Format Unicode non reconnu".
 
Et voilà le travail... Une journée de perdue pour ça.
 
Quant à savoir comment j'ai fait pour passer mes fichiers en Unicode, je préfère en rester là :D

Reply

Marsh Posté le 25-01-2005 à 20:49:48    

Incroyable !
 
Bon a savoir. Merci d'avoir tenu bon, ca me servira surement un jour ;)

Reply

Marsh Posté le 26-01-2005 à 10:25:00    

Petite précision, c'est le module PHP qui refusait l'Unicode, Apache seul l'acceptait pour du HTML.
 
D'un autre côté, ça me rassure sur mes capacités à installer Apache/PHP/MySQL à la main !

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed