probleme de "line break" avec include

peutImporte
Invité n'ayant pas de compte PHPfrance

28 févr. 2009, 14:22

Bonjour,

configuration:
-mod_rewrite qui renvoit les requettes vers une page de control (pageA.php) [
-pageA.php: retourne le contenu avec la fonction include()
-version d'apache: 2.2.8
-verion de PHP: 5.2.4


probleme:
-un retour a la ligne supplementaire (\r\n en HTTP, 0d0a en Hex) est ajouter en debut de contenu: je me retrouve donc avec 3 retours a la ligne consecutifs avant le contenu au lieu des 2 attendus (celui du dernier header et celui qui separe les headers du contenu).
-Le content-length est correct (2 bytes en plus pour le retour a la ligne supplementaire).
-En revanche le retour a la ligne suplementaire casse l'intepretation du contenu dans le cas d'images par exemple (avec du html on a pas de probleme car le parseur html to browser ignore le retour a la ligne).

Je n'ai pas ce probleme quand j'accede le contenu directement (donc sans mod_rewrite+include).

Quelqu'un peut il m'aider svp?

Merci,
peutImporte

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

28 févr. 2009, 15:13

Bonjour,

Peut être un comportement inattendu au niveau de ton éditeur de code, par exemple certains éditeurs rajoute un BOM pour l'utf8.
Difficile de t'en dire davantage sans avoir accès à tes fichiers...
Quand tout le reste a échoué, lisez le mode d'emploi...

peutImporte
Invité n'ayant pas de compte PHPfrance

28 févr. 2009, 17:04

merci pour ta reponse @rthur bien que je ne pense pas la comprendre. Pour clarifier les choses, l'analyse a ete faites avec des traces reseaux:

Le forum a pas l'air d'aimer les traces dont j'en ai fait des captures d'ecran que tu peux visualiser
sans probleme: http://img516.imageshack.us/img516/6217/68746849.png
avec le probleme: http://img410.imageshack.us/img410/4281/95893316.png

cordialement.
peutImporte.

ViPHP
ViPHP | 2287 Messages

28 févr. 2009, 17:52

Si j'étais toi je tenterais de découper le problème pour savoir si la différence que tu observes vient de l'include (ce qui blâmerait plutôt php) ou du rewriting (=> mod_rewrite, donc Apache).

A priori, tout comme @rthur, je m'orienterais plutôt du côté de PHP, mais si tu peux en avoir la certitude c'est mieux :-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

peutImporte
Invité n'ayant pas de compte PHPfrance

28 févr. 2009, 19:42

je pense que je vais m'en sortir :). Le probleme semble venir du PHP car avec une page toute simple cela marche (celle que j'utilisais au par avant etait relativement complexe).
bon je m'en retourne regler tout cela.
Bonne continuation.
peutImporte.

peutImporte
Invité n'ayant pas de compte PHPfrance

01 mars 2009, 14:33

Je probleme survient lorsque l'on fait 1 autre include (pour charger une page avec des fonctions et faire du traitement sur la requette par exemple) avant le second include qui nous sert a retourner la page demandee.
a+
peutImporte