Apache sous linux
Résolu/Fermé
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
-
27 juil. 2005 à 09:42
souamzohir - 18 oct. 2008 à 01:49
souamzohir - 18 oct. 2008 à 01:49
A voir également:
- Relancer apache
- Apache open office - Télécharger - Suite bureautique
- Relancer explorateur windows - Guide
- Relancer le spouleur d'impression - Guide
- Uwamp apache ne démarre pas - Forum Programmation
- Alexia organise un séminaire en ligne (webinaire) : elle cherche un outil qui permet de gérer les invitations, de relancer les invités et d’enregistrer le webinaire. - Forum Webmastering
33 réponses
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
27 juil. 2005 à 10:18
27 juil. 2005 à 10:18
Salut,
Alors, la configuration:
le fichier /etc/httpd/conf/httpd.conf qui est la base de la configuration d'apache, et d'une maniere générale, tout ce qui se trouve dans /etc/httpd/ (toute la configuration de la machine a de rare exception se trouve dans /etc/)
Pour les script de lancement, sous fedora c'est le script /etc/init.d/httpd (démon http)
Pour d'autre distrib (debian par exemple) le script se nomme /etc/init.d/apache.
Tout ces script prennent plusieures arguments variables:
Debian:
(sans arguement la liste des argument possible est en générale affichée à l'écran)
Ceci dit, tu as une autre solution, la commande apachectl
Cette commande se trouve toujours dans <APACHE_ROOT>/bin/
avec <APACHE_ROOT> le dossier ou apache est installé /usr/apache, /usr/local/apache, etc. (utile à savoir quand l'installation n'est pas celle par défaut /usr/local/apache/bin, peut ne pas etre dans le path, et donc la commande appel soit le serveur apache installé par défaut (apache2 sous fedora core) soit ne retourne rien du tout.)
++
Alors, la configuration:
le fichier /etc/httpd/conf/httpd.conf qui est la base de la configuration d'apache, et d'une maniere générale, tout ce qui se trouve dans /etc/httpd/ (toute la configuration de la machine a de rare exception se trouve dans /etc/)
Pour les script de lancement, sous fedora c'est le script /etc/init.d/httpd (démon http)
Pour d'autre distrib (debian par exemple) le script se nomme /etc/init.d/apache.
Tout ces script prennent plusieures arguments variables:
Debian:
gts@tsINT:~$ /etc/init.d/apache Usage: /etc/init.d/apache {start|stop|reload|reload-modules|force-reload|restart}Fedora:
[root@machine ~]# /etc/init.d/httpd Usage: httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}
(sans arguement la liste des argument possible est en générale affichée à l'écran)
Ceci dit, tu as une autre solution, la commande apachectl
usage: /usr/local/apache/bin/apachectl (start|stop|restart|fullstatus|status|graceful|configtest|help) start - start httpd stop - stop httpd restart - restart httpd if running by sending a SIGHUP or start if not running fullstatus - dump a full status screen; requires lynx and mod_status enabled status - dump a short status screen; requires lynx and mod_status enabled graceful - do a graceful restart by sending a SIGUSR1 or start if not running configtest - do a configuration syntax test help - this screenDonc apachectl graceful, relis la configuration (à faire aprés modification des fichiers de configuration.)
Cette commande se trouve toujours dans <APACHE_ROOT>/bin/
avec <APACHE_ROOT> le dossier ou apache est installé /usr/apache, /usr/local/apache, etc. (utile à savoir quand l'installation n'est pas celle par défaut /usr/local/apache/bin, peut ne pas etre dans le path, et donc la commande appel soit le serveur apache installé par défaut (apache2 sous fedora core) soit ne retourne rien du tout.)
++
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
27 juil. 2005 à 10:15
27 juil. 2005 à 10:15
Salut Charly,
Le script de lancement doit s'appeler "httpd" (sur FC2 au lieu de "apache"). Essaye :
/etc/init.d/httpd restart
En fait init.d est un lien symbolique vers rc.d/init.d (donc tu peux y accéder en faisant /etc/init.d/httpd ou /etc/rc.d/init.d/httpd indifféremment).
S'agissant du fichier de configuration de Apache, tu devrais le trouver sous /etc/httpd (éventuellement dans un sous répertoire "conf"). Il est dénommé "httpd.conf".
Si tu utilises php en tant que module Apache, tu dois vérifier que le module y est bien chargé (ligne du type "LoadModule php4_module"). Le fichier httpd.conf doit aussi comporter un "AddModule mod_php4.c" et une entrée "DirectoryIndex" mentionnant "index.php" en plus de "index.html" et d'autres qui peuvent être définies. Tu doit aussi include une entrée "AddType application/x-httpd-php .php" correspondante.
Tu dois ensuite également paramétrer le fichier "php.ini", qui réside, en principe sous /etc.
Dal
Le script de lancement doit s'appeler "httpd" (sur FC2 au lieu de "apache"). Essaye :
/etc/init.d/httpd restart
En fait init.d est un lien symbolique vers rc.d/init.d (donc tu peux y accéder en faisant /etc/init.d/httpd ou /etc/rc.d/init.d/httpd indifféremment).
S'agissant du fichier de configuration de Apache, tu devrais le trouver sous /etc/httpd (éventuellement dans un sous répertoire "conf"). Il est dénommé "httpd.conf".
Si tu utilises php en tant que module Apache, tu dois vérifier que le module y est bien chargé (ligne du type "LoadModule php4_module"). Le fichier httpd.conf doit aussi comporter un "AddModule mod_php4.c" et une entrée "DirectoryIndex" mentionnant "index.php" en plus de "index.html" et d'autres qui peuvent être définies. Tu doit aussi include une entrée "AddType application/x-httpd-php .php" correspondante.
Tu dois ensuite également paramétrer le fichier "php.ini", qui réside, en principe sous /etc.
Dal
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
29 juil. 2005 à 11:34
29 juil. 2005 à 11:34
Salut Charly,
j'ai enlevé tous les "echo" du programme
Ce n'est pas ce qu'on t'a demandé de faire... Mais tu es maître de ta destinée, tu fais comme tu veux. Je constate que tu ne veux donc pas déboguer ton code.
j'ai malgré tjrs la meme erreur
Si tu te réfères à l'erreur "headers already sent", celà signifie que quelque part dans l'exécution séquentielle de ton code tu as déjà envoyé des "headers" avant l'instruction "header" générant l'erreur, soit avec une autre instruction "header", soit par défaut en envoyant quelque chose sur la sortie standard avec un "echo", un "print", ou autre chose.
concernant mes essais depuis une station client windows avec le site sur un serveur linux.
Tes tests (et tant qu'à faire le développement) doivent effectivement être faits dans la situation où le site sera exploité.
qd mon site est sous linux :( (...)
j'ai comparé les fichiers php.ini sous linux et sous windows
... maintenant... je suis très perplexe en te lisant (et j'ai relu tout le thread). Si tu pouvais clarifier un peu, je serai moins perdu :
1. lorsque celà "marche" tu testes quel code php sur quel serveur (Linux ou Windows + nom et version du serveur) et avec quel client (Linux ou Windows + nom et version du client) + qu'est-ce qui "marche" ?
2. lorsque celà ne "marche pas" :
- qu'est-ce qui "marchait" avant (et comment) et qui ne "marche plus" (et comment),
- dans quelle configuration client/serveur (mêmes précisions que ci-dessus en 1.)
- quels sont les messages d'erreurs,
- quelles sont les lignes de ton code qui provoquent l'erreur (elles sont mentionnées dans le message d'erreur)
- quel est le contexte du code
Limite toi au code simple que tu as déjà posté. On verra après pour le reste.
3. Relis ce thread. Je suis persuadé que tu disposes de toutes les informations pour t'orienter vers la résolution de ton problème.
4. Si tu te décides enfin à déboguer ton code, tu me fais signe. Peut-être même te décideras-tu à contrôler le contenu de la variable $commande.
Dal
j'ai enlevé tous les "echo" du programme
Ce n'est pas ce qu'on t'a demandé de faire... Mais tu es maître de ta destinée, tu fais comme tu veux. Je constate que tu ne veux donc pas déboguer ton code.
j'ai malgré tjrs la meme erreur
Si tu te réfères à l'erreur "headers already sent", celà signifie que quelque part dans l'exécution séquentielle de ton code tu as déjà envoyé des "headers" avant l'instruction "header" générant l'erreur, soit avec une autre instruction "header", soit par défaut en envoyant quelque chose sur la sortie standard avec un "echo", un "print", ou autre chose.
concernant mes essais depuis une station client windows avec le site sur un serveur linux.
Tes tests (et tant qu'à faire le développement) doivent effectivement être faits dans la situation où le site sera exploité.
qd mon site est sous linux :( (...)
j'ai comparé les fichiers php.ini sous linux et sous windows
... maintenant... je suis très perplexe en te lisant (et j'ai relu tout le thread). Si tu pouvais clarifier un peu, je serai moins perdu :
1. lorsque celà "marche" tu testes quel code php sur quel serveur (Linux ou Windows + nom et version du serveur) et avec quel client (Linux ou Windows + nom et version du client) + qu'est-ce qui "marche" ?
2. lorsque celà ne "marche pas" :
- qu'est-ce qui "marchait" avant (et comment) et qui ne "marche plus" (et comment),
- dans quelle configuration client/serveur (mêmes précisions que ci-dessus en 1.)
- quels sont les messages d'erreurs,
- quelles sont les lignes de ton code qui provoquent l'erreur (elles sont mentionnées dans le message d'erreur)
- quel est le contexte du code
Limite toi au code simple que tu as déjà posté. On verra après pour le reste.
3. Relis ce thread. Je suis persuadé que tu disposes de toutes les informations pour t'orienter vers la résolution de ton problème.
4. Si tu te décides enfin à déboguer ton code, tu me fais signe. Peut-être même te décideras-tu à contrôler le contenu de la variable $commande.
Dal
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
29 juil. 2005 à 11:57
29 juil. 2005 à 11:57
Salut Dal,
Il a enlevé l'echo pour verifier que le problème du Header venait de là, ce qui visiblement, n'est pas le cas.
Ceci dit, il a dit aussi que que echo $commande renvoyait:
Donc ce n'est pas un problème de variable.
Peut-etre un probléme de droits simplement.
Que donne la commande
Il a enlevé l'echo pour verifier que le problème du Header venait de là, ce qui visiblement, n'est pas le cas.
Ceci dit, il a dit aussi que que echo $commande renvoyait:
echo -e gggg fffff| /usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/RIEN
Donc ce n'est pas un problème de variable.
Peut-etre un probléme de droits simplement.
Que donne la commande
echo -e gggg fffff| /usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/RIENlancé par l'utilisateur apache (enfin celui du serveur web.)
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
>
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
29 juil. 2005 à 12:03
29 juil. 2005 à 12:03
Salut asevere,
il a dit aussi que que echo $commande renvoyait:
echo -e gggg fffff| /usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/RIEN
Ce n'est pas ce que j'ai compris en lisant ce passage de son post <23> :
3) depuis ma station windows
en faisant les modifications que tu m'as données j'obtiens
pour echo(" commande : ".$commande) je trouve (en rentrant sur la pop up d'identification login =gggg et password=fffff)
echo -e gggg fffff| /usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/RIEN
en consultant une station linux depuis un poste client je trouve
des erreurs :(
Warning: Cannot modify header information - headers already sent by (output started at /Data/pub/intranet.iso.autoliv.int/web/test_exec.php:4) in /Data/pub/intranet.iso.autoliv.int/web/test_exec.php on line 9
J'ai donc compris qu'il n'a pas pu tester le contenu de la variable $commande lorsque son code php est installé sur le serveur Linux (il n'a le résultat que lorsque les pages php sont sur son serveur de développement Windows)... mais j'ai demandé à Charly de s'expliquer là dessus, car c'est loin d'être clair.
une fois que celà a été testé, on pourra s'interroger sur le résultat de cette commande exécutée par le démon httpd sur le serveur Linux.
Dal
il a dit aussi que que echo $commande renvoyait:
echo -e gggg fffff| /usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/RIEN
Ce n'est pas ce que j'ai compris en lisant ce passage de son post <23> :
3) depuis ma station windows
en faisant les modifications que tu m'as données j'obtiens
pour echo(" commande : ".$commande) je trouve (en rentrant sur la pop up d'identification login =gggg et password=fffff)
echo -e gggg fffff| /usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/RIEN
en consultant une station linux depuis un poste client je trouve
des erreurs :(
Warning: Cannot modify header information - headers already sent by (output started at /Data/pub/intranet.iso.autoliv.int/web/test_exec.php:4) in /Data/pub/intranet.iso.autoliv.int/web/test_exec.php on line 9
J'ai donc compris qu'il n'a pas pu tester le contenu de la variable $commande lorsque son code php est installé sur le serveur Linux (il n'a le résultat que lorsque les pages php sont sur son serveur de développement Windows)... mais j'ai demandé à Charly de s'expliquer là dessus, car c'est loin d'être clair.
une fois que celà a été testé, on pourra s'interroger sur le résultat de cette commande exécutée par le démon httpd sur le serveur Linux.
Dal
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
>
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
29 juil. 2005 à 12:15
29 juil. 2005 à 12:15
Ok j'ai rien, dit. :)
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
>
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
29 juil. 2005 à 12:30
29 juil. 2005 à 12:30
lol :D
Charly a aussi posté ceci dans son message http://www.commentcamarche.net/forum/affich-1697228
Après avoir developpé mon site web dynamique sur une station windows en utilisant esay php. J'ai migré mes fichiers vers un serveur web avec une distribution fedora core2 (avec uniquement un terminal). Il semble que Apache soit installé et le module php a l'air installé (je peux faire de l'interprétation de code php en faisant php fichier.php).
Cependant j'ai un petit problème qd je teste mon site depuis une station client il ne fonctinne pa de la meme façon que depuis mon serveur de developpement.
Voilà... mais maintenant, je ne suis plus sûr de rien :)
Dal
Charly a aussi posté ceci dans son message http://www.commentcamarche.net/forum/affich-1697228
Après avoir developpé mon site web dynamique sur une station windows en utilisant esay php. J'ai migré mes fichiers vers un serveur web avec une distribution fedora core2 (avec uniquement un terminal). Il semble que Apache soit installé et le module php a l'air installé (je peux faire de l'interprétation de code php en faisant php fichier.php).
Cependant j'ai un petit problème qd je teste mon site depuis une station client il ne fonctinne pa de la meme façon que depuis mon serveur de developpement.
Voilà... mais maintenant, je ne suis plus sûr de rien :)
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
1 août 2005 à 11:31
1 août 2005 à 11:31
1° ) je suis reparti de la version initiale du code a savoir celle que j'ai donné au post 14 de ce sujet. j'ai simplement enlevé comme le suggérait Dal la variable passée en parametre ds recherche_groupe($Groupe1) devient recherche_groupe() ds l'ensemble de auth.php
le parametre $groupe_autorise me permettra plus tard de rentrer une liste de groupes en paramètres et de tester si le groupe que j'ai trouvé en faisant recherche-groupe appartient a cette liste -> pr l'instant je ne test que si ce groupe est WEB_IT
donc cette var est bien inutile pr l'instant. (j'ai enlevé l'accent )
2°) pr répondre a ta question Dal du post 33 J'ai donc compris qu'il n'a pas pu tester le contenu de la variable $commande lorsque son code php est installé sur le serveur Linux
pr tester la commande j'ai rentré une commande avec un mot de passe et un login intégrés plutot que celle avec la saisie utilisateur a savoir :
$commande= "echo -e toto pass_toto|/usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/WEB_IT"
j'ai donc testé le retour de l'éxécution de cette commande qui renvoyait le bon résultat suivant que le login et le pass que je mettais ds la commande
3°) est ce que l'erreur que me renvoie le navigateur Cannot modify header information - headers already sent by (out
put started at /Data/pub/intranet.iso.autoliv.int/web/auth.php
pourrait venir de "include auth.php" situé avant l'appel du header qui "écrirait " ce qui provoquerait une mauvaise interpretation du headers. cf php.net
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
4)
précision j'ai enlevé tous les echo de mon programme appelés avant le header
Si vous pensez que le "include" pourrait etre a l'origine de mes soucis sauriez vous comment contourner ce problème (ss trop changer de code :) ) ?
Enfin pour clore ce magnifique post 36 la principale difficulté pour mes tests est que je ne peux executer smbauth que depuis le serveur linux donc je ne peux tester sur windows que le chemin "suivi" a savoir les passages ds les boucles, les commandes qui vont etre éxécutées.
J'espère que le manque de clarté dont j'ai surement fait preuve ds les posts précédents ne vous a pas dégouté de ce topic :p
le parametre $groupe_autorise me permettra plus tard de rentrer une liste de groupes en paramètres et de tester si le groupe que j'ai trouvé en faisant recherche-groupe appartient a cette liste -> pr l'instant je ne test que si ce groupe est WEB_IT
donc cette var est bien inutile pr l'instant. (j'ai enlevé l'accent )
2°) pr répondre a ta question Dal du post 33 J'ai donc compris qu'il n'a pas pu tester le contenu de la variable $commande lorsque son code php est installé sur le serveur Linux
pr tester la commande j'ai rentré une commande avec un mot de passe et un login intégrés plutot que celle avec la saisie utilisateur a savoir :
$commande= "echo -e toto pass_toto|/usr/lib/squid/smb_auth -W isodelta -U 10.63.250.11 -S /netlogon/WEB_IT"
j'ai donc testé le retour de l'éxécution de cette commande qui renvoyait le bon résultat suivant que le login et le pass que je mettais ds la commande
3°) est ce que l'erreur que me renvoie le navigateur Cannot modify header information - headers already sent by (out
put started at /Data/pub/intranet.iso.autoliv.int/web/auth.php
pourrait venir de "include auth.php" situé avant l'appel du header qui "écrirait " ce qui provoquerait une mauvaise interpretation du headers. cf php.net
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.
4)
précision j'ai enlevé tous les echo de mon programme appelés avant le header
Si vous pensez que le "include" pourrait etre a l'origine de mes soucis sauriez vous comment contourner ce problème (ss trop changer de code :) ) ?
Enfin pour clore ce magnifique post 36 la principale difficulté pour mes tests est que je ne peux executer smbauth que depuis le serveur linux donc je ne peux tester sur windows que le chemin "suivi" a savoir les passages ds les boucles, les commandes qui vont etre éxécutées.
J'espère que le manque de clarté dont j'ai surement fait preuve ds les posts précédents ne vous a pas dégouté de ce topic :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
27 juil. 2005 à 12:49
27 juil. 2005 à 12:49
Salut Charly,
Tu dois t'assurer que le module pour php a bien été installé sur ta machine.
Tape "locate libphp" à la ligne de commande.
Si tu as une réponse du type :
/usr/lib/httpd/modules/libphp4.so
Le module est installé sur le disque. Il te faut alors simplement le référencer dans httpd.conf :
LoadModule php4_module modules/libphp4.so
Tu devras aussi intégrer les autres lignes mentionnées dans mon post, si elles n'y sont pas déjà.
Si tu n'as pas un module du type "libphp4.so" sur ta machine, il faut l'installer.
Sur http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/ ...
... tu trouveras le module pour ta FC2 (si tu as une installation par défaut) dans le package php-4.3.4-11.i386.rpm.
Par ailleurs, si ton site sous php utilise mysql, ldap, etc. tu peux avoir des .rpm supplémentaires à installer. Consulte la liste des .rpm additionnels pour php. A toi de jouer.
Après avoir modifié ton httpd.conf, relance Apache.
Tu peux te faire une page simple avec php pour vérifier que tout est bien installé. Tu y intègres la commande "phpinfo();", utilisée sans arguments, cette fonction t'affichera l'intégralité des caractéristiques de ton installation de php.
Voir http://fr.php.net/manual/fr/function.phpinfo.php
Dal
Tu dois t'assurer que le module pour php a bien été installé sur ta machine.
Tape "locate libphp" à la ligne de commande.
Si tu as une réponse du type :
/usr/lib/httpd/modules/libphp4.so
Le module est installé sur le disque. Il te faut alors simplement le référencer dans httpd.conf :
LoadModule php4_module modules/libphp4.so
Tu devras aussi intégrer les autres lignes mentionnées dans mon post, si elles n'y sont pas déjà.
Si tu n'as pas un module du type "libphp4.so" sur ta machine, il faut l'installer.
Sur http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/ ...
... tu trouveras le module pour ta FC2 (si tu as une installation par défaut) dans le package php-4.3.4-11.i386.rpm.
Par ailleurs, si ton site sous php utilise mysql, ldap, etc. tu peux avoir des .rpm supplémentaires à installer. Consulte la liste des .rpm additionnels pour php. A toi de jouer.
Après avoir modifié ton httpd.conf, relance Apache.
Tu peux te faire une page simple avec php pour vérifier que tout est bien installé. Tu y intègres la commande "phpinfo();", utilisée sans arguments, cette fonction t'affichera l'intégralité des caractéristiques de ton installation de php.
Voir http://fr.php.net/manual/fr/function.phpinfo.php
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
28 juil. 2005 à 11:57
28 juil. 2005 à 11:57
re,
asevere pourrais tu me dire de quel echo parles tu ?
asevere pourrais tu me dire de quel echo parles tu ?
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
28 juil. 2005 à 12:05
28 juil. 2005 à 12:05
du "echo" sur la variable $commande, qui est exécuté avant l'instruction header, étant donné que tu n'as pas mis cette instruction au tout début (comme dans mon exemple).
Dal
Dal
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
28 juil. 2005 à 12:05
28 juil. 2005 à 12:05
de celui là:
echo "<p>commande = $commande"; Ou c'était sans avoir touché au code que tu avait ces message ?
echo "<p>commande = $commande"; Ou c'était sans avoir touché au code que tu avait ces message ?
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
28 juil. 2005 à 12:03
28 juil. 2005 à 12:03
Charly,
Les headers de demande d'authentification doivent être envoyés :
- avant de contrôler les variables entrées par l'utilisateur
- avant toute sortie de texte
En effet, si je les enlève (je l'ai vérifié en testant depuis une station windows) lorsqu'un utilisateur rentre un mauvais login/pwd on a bien un message d'erreur mais qd il fait "actualiser" ce la ne lui renvoie pa la pop up d'identification.
Un "unset" pour détruire les variables initialisées (si le mot de passe est erroné) ne résoud pas le problème ?
Accessoirement, si tu faisais tes tests depuis ta station Linux, il me semble que celà serait plus judicieux... c'est même le but de la manoeuvre.
Dal
Les headers de demande d'authentification doivent être envoyés :
- avant de contrôler les variables entrées par l'utilisateur
- avant toute sortie de texte
En effet, si je les enlève (je l'ai vérifié en testant depuis une station windows) lorsqu'un utilisateur rentre un mauvais login/pwd on a bien un message d'erreur mais qd il fait "actualiser" ce la ne lui renvoie pa la pop up d'identification.
Un "unset" pour détruire les variables initialisées (si le mot de passe est erroné) ne résoud pas le problème ?
Accessoirement, si tu faisais tes tests depuis ta station Linux, il me semble que celà serait plus judicieux... c'est même le but de la manoeuvre.
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
29 juil. 2005 à 08:50
29 juil. 2005 à 08:50
j'ai enlevé tous les "echo" du programme ... j'ai malgré tjrs la meme erreur qd mon site est sous linux :(
concernant mes essais depuis une station client windows avec le site sur un serveur linux. 2 raisons :
-je n'ai pa de navigateur sur mon environemment linux
-je préfère tester le site ds l'environnement ds lequel il sera utilisé par la suite cad clients windows ouvrant le site situé sur le serveur linux.
j'ai comparé les fichiers php.ini sous linux et sous windows en reopinat sur le fichier linux les champs différents qui me sembaient utiles. rien n'y fait
help ;)
concernant mes essais depuis une station client windows avec le site sur un serveur linux. 2 raisons :
-je n'ai pa de navigateur sur mon environemment linux
-je préfère tester le site ds l'environnement ds lequel il sera utilisé par la suite cad clients windows ouvrant le site situé sur le serveur linux.
j'ai comparé les fichiers php.ini sous linux et sous windows en reopinat sur le fichier linux les champs différents qui me sembaient utiles. rien n'y fait
help ;)
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
1 août 2005 à 13:14
1 août 2005 à 13:14
Salut Charly,
Effectivement, c'est une piste. Si dans ton "auth.php" tu as une partie en dehors des balises php, ce contenu est adressé à la sortie sortie standard, Apache considérant celà comme du code html.
Il ne doit donc rien y avoir en dehors des balises <?php (...) ?>.
Regarde aussi le code source de la page générée sur laquelle figure l'erreur des "headers already sent" (avec ton navigateur, affiche le code source), tu devrais y voir le code html "coupable", avant le message "headers already sent" lui-même.
Dal
Effectivement, c'est une piste. Si dans ton "auth.php" tu as une partie en dehors des balises php, ce contenu est adressé à la sortie sortie standard, Apache considérant celà comme du code html.
Il ne doit donc rien y avoir en dehors des balises <?php (...) ?>.
Regarde aussi le code source de la page générée sur laquelle figure l'erreur des "headers already sent" (avec ton navigateur, affiche le code source), tu devrais y voir le code html "coupable", avant le message "headers already sent" lui-même.
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
1 août 2005 à 13:35
1 août 2005 à 13:35
en affichant le code source de la page je trouve :
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:5) in <b>/Data/pub/intranet.iso.autoliv.int/web/auth.php</b> on line <b>9</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:5) in <b>/Data/pub/intranet.iso.autoliv.int/web/auth.php</b> on line <b>10</b><br />
Vous devez entrer un identifiant et un mot de passe valide pour accèder à cette ressource.
cela fait reférence aux lignes auxquelles se trouvent mes 2 headers ds auth.php. je n'ai rien vu qui faisait référence a des lignes qui seraient a l'origine du problème :'(
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:5) in <b>/Data/pub/intranet.iso.autoliv.int/web/auth.php</b> on line <b>9</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:5) in <b>/Data/pub/intranet.iso.autoliv.int/web/auth.php</b> on line <b>10</b><br />
Vous devez entrer un identifiant et un mot de passe valide pour accèder à cette ressource.
cela fait reférence aux lignes auxquelles se trouvent mes 2 headers ds auth.php. je n'ai rien vu qui faisait référence a des lignes qui seraient a l'origine du problème :'(
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
1 août 2005 à 13:52
1 août 2005 à 13:52
output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:5
et ligne 5 de ton auth.php, tu as quelque chose en particulier ?
9 et 10, je suppose que c'est tes 2 instructions "header".
Dal
et ligne 5 de ton auth.php, tu as quelque chose en particulier ?
9 et 10, je suppose que c'est tes 2 instructions "header".
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
1 août 2005 à 14:14
1 août 2005 à 14:14
j'ai des petits soucis de numérotation de ligne avec macromedia studio MX et qd j'ai fermé puis relancé celui ci ss changer de code je trouve que les erreurs sont ligne 5 et 6 (a la place de 9et 10 ) et que le problème se situait ligne 105 (au lieu de 5) ce qui correspond a 2 lignes après la fin de mon programme (ligne 103).
Cela reprensente il une indication pr toi?
PS: oui les lignes 5 et 6 correspondent a mes headers
Cela reprensente il une indication pr toi?
PS: oui les lignes 5 et 6 correspondent a mes headers
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
1 août 2005 à 14:24
1 août 2005 à 14:24
C'est le fichier auth.php stocké sur ton serveur Linux que tu dois aller voir.
Dans le répertoire contenant le fichier auth.php, fais :
head -n 5 auth.php | tail -n 1
Pour afficher la ligne 5
head -n 10 auth.php | tail -n 2
Pour afficher les lignes 9 et 10
Dal
Dans le répertoire contenant le fichier auth.php, fais :
head -n 5 auth.php | tail -n 1
Pour afficher la ligne 5
head -n 10 auth.php | tail -n 2
Pour afficher les lignes 9 et 10
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
1 août 2005 à 14:38
1 août 2005 à 14:38
je suppose que c'est juste pr voir a quelles lignes cela correspond ds l'éditeur de texte linux.
:)
[root@iso-ww02 charles]# head -n 6 auth.php | tail -n 2
header('WWW-Authenticate: Basic realm="Test Authentication System"');
header('HTTP/1.0 401 Unauthorized');
[root@iso-ww02 charles]# head -n 105 auth.php | tail -n 2
?>
donc la ligne 105 est bien la fin de mon fichier php et les lignes 5 et 6 sont bien les lignes relatives aux headers
:)
[root@iso-ww02 charles]# head -n 6 auth.php | tail -n 2
header('WWW-Authenticate: Basic realm="Test Authentication System"');
header('HTTP/1.0 401 Unauthorized');
[root@iso-ww02 charles]# head -n 105 auth.php | tail -n 2
?>
donc la ligne 105 est bien la fin de mon fichier php et les lignes 5 et 6 sont bien les lignes relatives aux headers
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
1 août 2005 à 14:49
1 août 2005 à 14:49
Le message d'erreur que tu as copié-collé en post <38> ne faisait pas référence à 105, mais à 5... hmmf, encore une fois tout celà est confus. Admettons que ce que tu dis maintenant c'est que le message d'erreur mentionne "output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:105" au lieu de "output started at /Data/pub/intranet.iso.autoliv.int/web/auth.php:5".
head -n 105 auth.php | tail -n 2
?>
C'est la balise fermante du code php et je comprend que c'est la fin de ton code. Si tu as quoi que ce soit après, efface le (même des lignes "vides"). Fais-en la dernière ligne de ton code. Utilise un éditeur sous linux pour ce faire, plutôt que de passer par macromedia studio MX sous Windows, qui risque de te rajouter des choses pour "faire joli".
Dal
head -n 105 auth.php | tail -n 2
?>
C'est la balise fermante du code php et je comprend que c'est la fin de ton code. Si tu as quoi que ce soit après, efface le (même des lignes "vides"). Fais-en la dernière ligne de ton code. Utilise un éditeur sous linux pour ce faire, plutôt que de passer par macromedia studio MX sous Windows, qui risque de te rajouter des choses pour "faire joli".
Dal
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
1 août 2005 à 15:02
1 août 2005 à 15:02
Dal,
j'ai expliqué cette histoire de numérotation au poste 40 (je ne sais pas a quoi cela est du). dsl j'essaye d'etre aussi clair que possible :)
jai effacé les deux lignes vides en fin de programme
lorsque les erreurs s'affichent de headers je viens de m'apercevoir que si je fais actualiser il m'envoit la popup d'identification. Cependant si la pop up s'affiche pourtant l'identification n'est pa réalisée correctement. (mais ça peut etre lié au reste du code )
j'ai expliqué cette histoire de numérotation au poste 40 (je ne sais pas a quoi cela est du). dsl j'essaye d'etre aussi clair que possible :)
jai effacé les deux lignes vides en fin de programme
lorsque les erreurs s'affichent de headers je viens de m'apercevoir que si je fais actualiser il m'envoit la popup d'identification. Cependant si la pop up s'affiche pourtant l'identification n'est pa réalisée correctement. (mais ça peut etre lié au reste du code )
magic charly
Messages postés
122
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
14 septembre 2006
22
1 août 2005 à 15:26
1 août 2005 à 15:26
Tout marche désormais bien ... :D
merci bcp pour votre patience a tous les deux même si ça fait une grosse discussion pr une erreur aussi énervante
merci bcp pour votre patience a tous les deux même si ça fait une grosse discussion pr une erreur aussi énervante
Bonjour, je souhaite installer PHP4 et PHP5 sur la même machine (Fedora core 4, plateforme 64 bits) comme indiqué dans ce tuto.
Je n'installe donc que PHP4 puisque PHP5 est installé par défaut.
Cependant, il me manque le fichier libphp4.so.
Quelqu'un saurait-il comment je peux procéder ou bien m'aider à trouver le fichier adapté à ma machine x86_64 ?
Je n'installe donc que PHP4 puisque PHP5 est installé par défaut.
Cependant, il me manque le fichier libphp4.so.
Quelqu'un saurait-il comment je peux procéder ou bien m'aider à trouver le fichier adapté à ma machine x86_64 ?
zenzedoon
Messages postés
20
Date d'inscription
lundi 13 août 2007
Statut
Membre
Dernière intervention
4 octobre 2012
8 déc. 2007 à 16:16
8 déc. 2007 à 16:16
je suis un etudiant en réseaux ey je cherche a faire un mini projet sur le réseaux sous linux.
donc si vous avez des idée vous pouvez l'envoyez sur mon compte.merci
donc si vous avez des idée vous pouvez l'envoyez sur mon compte.merci
Arno59
Messages postés
4600
Date d'inscription
jeudi 23 octobre 2003
Statut
Contributeur
Dernière intervention
18 avril 2023
484
9 févr. 2008 à 21:53
9 févr. 2008 à 21:53
Bonjour,
Je viens d'installer les dernières versions de Apache et PHP sous Linux, mais aucun service n'est activé:
--> Apache
/usr/local/apache
./ bin/ cgi-bin/ error/ icons/ lib/ man/ modules/
../ build/ conf/ htdocs/ include/ logs/ manual/
--> PHP
./ ../ bin/ etc/ include/ lib/ man/
Comment activé les services ?
De plus lors de l'ouverture d'un fichier PHP sous les navigateurs Web FireFox & Konqueror mais ceux-ci me propse de les enregistrer sur le disque dur ??
Je viens d'installer les dernières versions de Apache et PHP sous Linux, mais aucun service n'est activé:
--> Apache
/usr/local/apache
./ bin/ cgi-bin/ error/ icons/ lib/ man/ modules/
../ build/ conf/ htdocs/ include/ logs/ manual/
--> PHP
./ ../ bin/ etc/ include/ lib/ man/
Comment activé les services ?
De plus lors de l'ouverture d'un fichier PHP sous les navigateurs Web FireFox & Konqueror mais ceux-ci me propse de les enregistrer sur le disque dur ??