Page interprétée entièrement, pas d'output vers le browser [PHP] - PHP - Programmation
Marsh Posté le 25-01-2004 à 20:28:25
sans plus de détail, je pencherais pour une mauvaise initialisation de certaines variables, mais sans conviction.
Marsh Posté le 25-01-2004 à 21:09:15
ben oui, mais comment expliquer que, par exemple, si la page commence par include("fichier.php" ); , et que ce fichier contienne que du texte ( en gros, des balises html avec un ti script php au bout), aucun output ne soit envoyé ?
Par exemple :
index.php
Citation : |
contenu.php
Citation : |
Et aucun message d'erreur rien au navigateur ?
Marsh Posté le 27-01-2004 à 04:32:52
et sans le session.php ca marche toujours pas
(faut reduire au strict minimum produisant toujours le problème)
Marsh Posté le 29-01-2004 à 13:07:10
désolé d'etre resté muet pendant pas mal de temps
On a avancé : on sait que ca vient des sessions ( on vire le session_start() ca le fait plus, on le remet ca plante ).
Voici notre fichier de session utilisé actuellement ( appelé via un include() ) : ( je précise que je ne suis pas l'auteur de ce code )
Code :
|
Je précise que le probleme arrive au "hasard" et est des fois ( mais tres rarement) reproductible... avec des clicks dans le bon ordre et surtout le bon timing ( c'est ca qui est étrange).
Une idée ? Merci
Marsh Posté le 29-01-2004 à 13:38:56
Ben tu fais un return dans le main avec tes sessions, c'est pas ça le problème ?
Puis je me rapelle des sessions chez OVH + IE, j'ai changé les deux maintenant donc je ne sais pas d'où venait le problème... C'était temps de déconnection aléatoire (Ca venait d'IE quasi sûr )
Marsh Posté le 29-01-2004 à 14:07:16
belgique a écrit : Ben tu fais un return dans le main avec tes sessions, c'est pas ça le problème ? |
"il" fait, et non c possible, le include permet le return ( ca arrete le include et continue le script principal ).
Ca le fait sur un 90Plan OVH ET sur un dédié OVH ( avec config spéciale donc ).
D'autres sites connus utilisant les sessions sur le meme serveur dédié ont aucun souci.
Marsh Posté le 29-01-2004 à 14:18:55
Ah oui tiens, faudrait que je lise la doc une fois. Mais un problème aléatoire comme tu le dis, doit être provoqué quand il perd la session. Regarde bien le code dans ce cas.
Marsh Posté le 29-01-2004 à 14:36:28
ben la ou on capte pas, c'est que si on met ca a la place du code :
Code :
|
A la place de notre include session.php, le bug apparait
Marsh Posté le 29-01-2004 à 14:57:15
compression de page ?
session.cache dans le php.ini ?
faudrait peut être creuser au niveau des entêtes aussi, getallheaders() & co
EDIT : en y réflechissant un peu et en lisant ce code infâme, t'irais plus vite à tout réécrire
file le code complet du script qu'on puisse tester aussi
Marsh Posté le 29-01-2004 à 15:59:59
phpinfo :
session |
Ca le fait que sous IE on dirait ( impossible de le reproduire sous firebird par exemple ).
Pour le code complet, vu le nombre d'include, ca risque d'etre chaud Je regarde encore un peu et je vous dit quoi.
Marsh Posté le 29-01-2004 à 16:01:06
Cf ce que j'ai dit, regarde ce qu'il se passe quand il n'arrive pas à créer une session. En fait quand il arrive sur la page, c'est comme si c'était un nouvel utilisateur.
Marsh Posté le 29-01-2004 à 16:07:26
belgique a écrit : Cf ce que j'ai dit, regarde ce qu'il se passe quand il n'arrive pas à créer une session. En fait quand il arrive sur la page, c'est comme si c'était un nouvel utilisateur. |
oui, mais a ce moment la, pourquoi n'avoir AUCUN output, comme si rien ne s'était executé ?
par exemple, si je fais :
Citation : |
donc avec du code non interprété par php et forcément envoyé au browser ( notre code ne contenant pas de exit() ), il ne le recoit pas ?
Ca a l'air d'arriver qu'avec IE en plus, et lors de la page blanche, on fait un refresh et ca passe...
Aucune trace, aucun message d'erreur affiché, meme quand on lui demande d'afficher... rien. le néant total. Sur deux serveurs différents.
Marsh Posté le 29-01-2004 à 16:10:47
Vu la taille du truc, je vais bosser dessus et je posterai le script minimal avec lequel on reproduit le bug
A ce soir !
Marsh Posté le 29-01-2004 à 16:41:52
Un truc qui m'est deja arrivé c'est de rien avoir à l'écran et quand j'ai regardé le code source de la page blanche affichée, en fait y a avait plein de trucs dont une erreur PHP qui était indiqué.
Donc quand tu dis "pas d'output vers le browser" c'est juste visuel ou bien c'est la source de la page qui est vide aussi ?
Marsh Posté le 29-01-2004 à 16:57:32
ce que je comprends pas, c'est que j'ai jamais réussi a reproduire le bug avec mozilla. Juste avec IE. C'est plutot simple : cliquer comme un taré et hop il apparait.
Il est la actuellement sur ma page : http://www.ocbase.com .
Baladez vous avec IE un peu partout, en naviguant notamment entre les news et la cat OCCT en haut, en cliquant dans le sous-menu et sur le titre des news. Vous allez voir, au bout d'une trentaine de clicks, il apparait.
Marsh Posté le 29-01-2004 à 17:29:40
Putain je viens de truver
Ca venait du meta ( en gros, si je faisait outputter a PHP avant le meta ca marchait , apres ca marchait plus).
j'ai testé en déplacant ce petit script :
Code :
|
Le meta qui merde :
Code :
|
Le meta quivabien ( forum ) :
Code :
|
A part le 5 au bout et le iso en minuscule, rien ne change.
un bug d'IE en fait, qui des fois devait pas comprendre ce charset j'imagine
Marsh Posté le 29-01-2004 à 18:02:00
moi j'ai cliqué comme un fou sans jamais avoir ce problème (avant ta "solution" je précise..)
Marsh Posté le 29-01-2004 à 18:03:09
Sh@rdar a écrit : moi j'ai cliqué comme un fou sans jamais avoir ce problème (avant ta "solution" je précise..) |
on le reproduisait assez facilement sous IE6, on a changé le meta et hop disparu
Marsh Posté le 09-09-2005 à 00:56:30
Bonjour à tous.
Après avoir beaucoup cherché sur le net pour voir si qqun avait le même problème que moi, j'ai enfin trouvé ce topic
Je rencontre exactement le même problème incomprehensible sur un serveur OVH.
Sous IE 6, sans comprendre pourquoi, sur certaines pages je n'ai aucun output vers le navigateur. Je ne peux même pas afficher la source de la page, celle-ci ne contient absolument rien.
Une page defaillante ne fonctionne que si je la réactualise.
Je ne trouve aucune explication rationelle.
Si je regarde ce qu'à posté Tetedeiench, ce qu'on a en commun c'est le fait qu'on est tous les 2 sur un serveur OVH, qu'on utilise les sessions et que le bug apparait sous IE6. En local ou avec Firefox, aucun souci.
J'ai essayé ce qui a marché pour lui (le meta) mais ça ne fonctionne pas pour moi :s
Quelqu'un d'autre a déjà rencontré ce problème vraiment bizzar?
Merci de m'aider, c'est vraiment une galère.
Marsh Posté le 09-09-2005 à 01:36:50
Essaye de mettre ça à la première ligne de ton fichier de base :
error_reporting(E_ALL);
Y a tjs pas d'erreur ?
Marsh Posté le 09-09-2005 à 01:41:40
Non rien, je peux même pas accéder à la source de la page :s
Je sais pas si c'est spécifique à OVH, mais je suis pas le 1er à rencontrer ce problème :
http://forum.ovh.com/showthread.ph [...] eadid=3704
Je sais vraiment pas quoi faire
Marsh Posté le 09-09-2005 à 01:45:40
Je sais pas comment expliquer ça mais j'ai carrément viré la meta de charset et ça semble fonctionner. Enfin, la page s'affiche quoi...
Mais je tiens pas à laisser mes pages bancales sans cette meta mais je vois pas trop comment la modifier.
La voici au cas où :
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
Marsh Posté le 09-09-2005 à 01:49:04
Autre élémentn sait-on jamais :
Je sais pas si IE6 est complétement buggué où si c'est normal qd on ne specifie pas le charset mais je peux pas afficher la source de ma page.
Pareil que quand rien ne s'affiche donc.
Marsh Posté le 09-09-2005 à 01:50:14
ReplyMarsh Posté le 27-09-2005 à 10:22:52
bonjour,
j'ai eu le même problème et j'ai perdu un tas de temps... en effet cela ne semble se produire que sur ie pc, quand les sessions php sont activées, mais de manière tout à fait aléatoire : le cache ie du client, ainsi que les questions de securité parentale semblent jouer. Autre remarque on dirait aussi que ça tourne autour du fournisseur ovh (mais c'est peut être seulement une coincidence)
je n'ai toujours pas compris ce qui se passe, mais depuis jeudi cela semble reglé (des copains ont cliqué comme des fous sur plusieurs installations et il n'y a plus de pages blanches).
pour ma part j'ai fait comme ça : ce n'est pas super propre comme code, mais en tout cas ça marche et ç'est toujours du valide...
bien que le debut de ma sortie (bien après le session_start() et de tas d'autres ops) soit
Code :
|
la ligne http-equiv du charset ne serait pas toujours prise en compte par ce "cher" ie/pc
du coup, mon script commence par
Code :
|
voilà... Le meta tag http-equiv reste toujours en place dans $out, et du coup l'information est redondante, mais si ce n'est pas beau au moins ça ne semble pas poser de problèmes...
merci à tous de m'avoir mis sur la voie et de me signaler toute solution meilleure, ou, si vous avez compris ce qui se passe, de bien vouloir nous l'expliquer...
Marsh Posté le 25-01-2004 à 20:25:42
Quelles sont les raisons possibles ?
Nous ne faisons que de l'interfacage MySQL, sur un 90Plan OVH, et on gère des sessions, c'est tout.
Autrement dit, la page est interprétée ( les données sont insérées dans les bases, etc), mais aucun output n'est emis vers le browser ( IE en l'occurence ), même celles qui ne sont pas dans des balises PHP ( mais on passe par des includes pour les insérer ).
Avez vous des idées, des conseils concernant les causes les plus courante de ce type d'"erreur" ?
Quand elle arrive, on fait un refresh et ca passe nickel O_o