Comportement étrange de PHP/Apache

Eléphant du PHP | 291 Messages

27 nov. 2008, 16:01

Suite à mon problème de forcer le téléchargement d'un fichier en "streaming", j'ai continué à investiguer, et je me suis aperçu de quelque chose qui peut être lié...

Je sélectionne environ 20 000 enregistrements à coup de Propel/PDO.
Puis là, au moment des les afficher dans un joli tableau HTML (oui oui, les 20 000, c'est un besoin réel), et... chose curieuse.... Il n'y a que la moitié (environ) des résultats qui apparait. La 2e moitié du tableau est vide, blanche...

La page semble être bien chargée (puisque le bas de page est bien là), mais il me manque bel et bien une moitié de tableau, comme si le flux était coupe à un moment....

Je ne sais absolument pas par où poursuivre cette investigation... Problème d'affichage ? De configuration ? Du coté de Apache, de PHP, de MySQL ... ?

Si vous pouviez m'aider en partageant des expériences similaires, je serai tout enchanté !


PS : Je ne sais pas si ça a des conséquences, le tout se passe dans Symfony... :roll:

ViPHP
ViPHP | 1136 Messages

27 nov. 2008, 16:37

Salut ,

En combien de temps ton tableau s'affiche ?

Le scripte dépasse t'il le timelimit ?

Eléphant du PHP | 291 Messages

27 nov. 2008, 16:47

J'ai testé avec un timelimit bien long... rien ne change.
Le tableau s'affiche en une dizaine de secondes.

ViPHP
ViPHP | 1136 Messages

27 nov. 2008, 16:57

Et tu récupéres bien tes 20 000 enregistrements ?

Au niveau occupation de mémoire ca donne quoi ?

Tu ne dépasse pas les limites de ton sgbd ?

je ne connais pas bien la gestion de la mémoire de mysql par exemple , mais il existe certainement une limite au niveau des résultats ...

Quelqu'un de plus calé dans le domaine pourrait peut être confirmer ... ( de mon coté , ce ne sont que des hypothèses )

Eléphant du PHP | 291 Messages

27 nov. 2008, 17:41

Je vois que nous avons les même lacunes ;)

Bon sinon pour Symfony je viens de lire cette news toute fraiche sur la version 1.1.6 :
one which could make PHP segfaulting in any environment with the web_debug setting enabled and when parsing very large SQL queries to display them in the web debug toolbar (eg. the default env environment - see related ticket)
Je rentre peut etre dans ce cadre... Je ne sais pas si je suis censé voir le Segfault sur la page web ou pas, je n'en ai jamais eu...

ViPHP
ViPHP | 5920 Messages

28 nov. 2008, 02:45

leaule, si php segfaultait, ça m'étonnerait qu'il t'affiche quoi que ce soit, il te mettrait plutôt une magnifique erreur 500 je pense, voire ferait crasher le process apache qui lui est lié si apache n'est pas assez isolé…

Eléphant du PHP | 254 Messages

28 nov. 2008, 09:15

J'ai deja eu ce genre de truc, le flux html qui s'arrete d'un coup sans prévenir, moi ca me construisait mon tableau, et ca s'arretait aléatoirement au milieu d'une ligne sans message d'erreur :p

Bon ma requete etait assez sale a l'époque et faisait péter le time limit de mon serveur, ce qui ne semble pas etre ton cas si j'ai bien compris donc je passe mon chemin :)

(bon j'ai partagé mon expérience hein ;))