Réponse de taille nulle
Résolu
JeandeStrasbourg
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
JeandeStrasbourg Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
JeandeStrasbourg Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis prof de maths et j'ai bricolé (c'est vraiment du bricolage) un petit site en php pour que mes élèves puissent faire des exercices avec des données aléatoires.
Je suis hébergé chez free.
J'ai une base de données mysql qui enregistre les meilleurs scores.
Pour afficher les formules mathématiques, j'utilise phpmathpublisher qui crée des images pour chaque formule.
Les pages sont assez longues à charger (une dizaine de secondes) mais cela fonctionne généralement. Le problème est que, de temps en temps, sans raison particulière, on obtient un message d'erreur : "réponse de taille nulle" ou "Squid n'a reçu aucune donnée" ou "la connexion a été réinitialisée" suivant les navigateurs.
En faisant une petite recherche sur les forums, j'ai trouvé un message qui conseillait d'utiliser ob_start et ob_flush. J'ai regardé la description de ces instructions mais je ne comprends pas comment elles fonctionnent.
Est-ce que quelqu'un aurait un diagnostic et un conseil ?
Merci
Jean
je suis prof de maths et j'ai bricolé (c'est vraiment du bricolage) un petit site en php pour que mes élèves puissent faire des exercices avec des données aléatoires.
Je suis hébergé chez free.
J'ai une base de données mysql qui enregistre les meilleurs scores.
Pour afficher les formules mathématiques, j'utilise phpmathpublisher qui crée des images pour chaque formule.
Les pages sont assez longues à charger (une dizaine de secondes) mais cela fonctionne généralement. Le problème est que, de temps en temps, sans raison particulière, on obtient un message d'erreur : "réponse de taille nulle" ou "Squid n'a reçu aucune donnée" ou "la connexion a été réinitialisée" suivant les navigateurs.
En faisant une petite recherche sur les forums, j'ai trouvé un message qui conseillait d'utiliser ob_start et ob_flush. J'ai regardé la description de ces instructions mais je ne comprends pas comment elles fonctionnent.
Est-ce que quelqu'un aurait un diagnostic et un conseil ?
Merci
Jean
A voir également:
- Réponse de taille nulle
- Comment réduire la taille d'un fichier - Guide
- Réponse automatique thunderbird - Guide
- Réponse automatique gmail - Guide
- Reduire taille image - Guide
- Afficher taille dossier windows - Guide
2 réponses
Bonjour,
Tout d'abord ... si ton site contient beaucoup d'images... il faut les optimiser.
Tu peux commencer par ça :
https://www.blogdumoderateur.com/optimiser-image/
Tu peux aussi augmenter un peu le time limit du code php
https://www.php.net/manual/fr/function.set-time-limit.php
Tu peux aussi Mettre en cache les fichiers statiques de ton site Web
https://www.creativejuiz.fr/blog/tutoriels/mettre-en-cache-les-fichiers-statiques-de-votre-site-web-htaccess
Bien entendu, je ne sais pas comment se presente ton site.. mais tu pourrais, si ce n'est pas déjà fait, le "découper" en plusieurs pages.
cela évitera de devoir charger 250 images d'un coup.....
Tu fais une page par exercice par exemple...
Avec ça déjà.. tu devrais pouvoir limiter les erreurs.
Tout d'abord ... si ton site contient beaucoup d'images... il faut les optimiser.
Tu peux commencer par ça :
https://www.blogdumoderateur.com/optimiser-image/
Tu peux aussi augmenter un peu le time limit du code php
https://www.php.net/manual/fr/function.set-time-limit.php
Tu peux aussi Mettre en cache les fichiers statiques de ton site Web
https://www.creativejuiz.fr/blog/tutoriels/mettre-en-cache-les-fichiers-statiques-de-votre-site-web-htaccess
Bien entendu, je ne sais pas comment se presente ton site.. mais tu pourrais, si ce n'est pas déjà fait, le "découper" en plusieurs pages.
cela évitera de devoir charger 250 images d'un coup.....
Tu fais une page par exercice par exemple...
Avec ça déjà.. tu devrais pouvoir limiter les erreurs.
Le site est déjà découpé : une page par exercice.
Le php génère des données aléatoires pour afficher un énoncé. Quand l'élève a validé sa réponse, la page lui indique si la réponse est juste et affiche un corrigé avec les données de l'exercice. Les images correspondent aux formules de l'énoncé et du corrigé. Elles sont donc générées au fur et à mesure par phpmathpublisher. Je ne pense pas qu'il soit possible de les modifier sauf à modifier phpmathpublisher.
Le set_time_limit ne fonctionne pas. Il m'affiche
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /mnt/159/sda/6/e/jpatouilliart/phpmathpublisher/deriv_rac.php on line 243
J'imagine que le safe mode n'est pas désactivable chez free.
Pour ce qui est du cache, chacune de mes pages commence par un include"mathpublisher.php" mais, si j'ai bien compris (ce qui est loin d'être sûr), ce n'est pas un fichier statique donc je ne peux pas le mettre en cache.
Penses-tu que ob_start, ob_flush et ob_get_contents puissent être utiles ?
Le php génère des données aléatoires pour afficher un énoncé. Quand l'élève a validé sa réponse, la page lui indique si la réponse est juste et affiche un corrigé avec les données de l'exercice. Les images correspondent aux formules de l'énoncé et du corrigé. Elles sont donc générées au fur et à mesure par phpmathpublisher. Je ne pense pas qu'il soit possible de les modifier sauf à modifier phpmathpublisher.
Le set_time_limit ne fonctionne pas. Il m'affiche
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /mnt/159/sda/6/e/jpatouilliart/phpmathpublisher/deriv_rac.php on line 243
J'imagine que le safe mode n'est pas désactivable chez free.
Pour ce qui est du cache, chacune de mes pages commence par un include"mathpublisher.php" mais, si j'ai bien compris (ce qui est loin d'être sûr), ce n'est pas un fichier statique donc je ne peux pas le mettre en cache.
Penses-tu que ob_start, ob_flush et ob_get_contents puissent être utiles ?
Tu peux toujours essayer.
Personnellement j'évite au maximum ce genre de fonction..... sauf cas exceptionnel.
En même temps... tu héberges ton site chez free .... et bon.. ce n'est pas connu pour ses performances....
Enfin si tu veux quand même tester, voici un bon tuto :
http://julien-pauli.developpez.com/tutoriels/php/ob/
Au passage, teste ton site ici : https://developers.google.com/speed/pagespeed/insights/
et là : https://tools.keycdn.com/speed
Personnellement j'évite au maximum ce genre de fonction..... sauf cas exceptionnel.
En même temps... tu héberges ton site chez free .... et bon.. ce n'est pas connu pour ses performances....
Enfin si tu veux quand même tester, voici un bon tuto :
http://julien-pauli.developpez.com/tutoriels/php/ob/
Au passage, teste ton site ici : https://developers.google.com/speed/pagespeed/insights/
et là : https://tools.keycdn.com/speed
Merci beaucoup.
J'ai testé mon site avec ton premier lien. Il a été évalué comme poor à 50/100.
J'ai essayé d'alléger en affichant avec mathpublisher les images indispensables (comme les fractions ou les racines carrées) et en écrivant en html les formules qui pouvaient l'être (comme les intervalles ou les noms de fonctions). C'est moins joli mais c'est beaucoup plus rapide. Rien qu'avec ça, je suis passé à 70/100.
C'est pas formidable mais je pense que cela devrait suffire pour que cela ne plante plus.
Merci encore pour tes réponses.
J'ai testé mon site avec ton premier lien. Il a été évalué comme poor à 50/100.
J'ai essayé d'alléger en affichant avec mathpublisher les images indispensables (comme les fractions ou les racines carrées) et en écrivant en html les formules qui pouvaient l'être (comme les intervalles ou les noms de fonctions). C'est moins joli mais c'est beaucoup plus rapide. Rien qu'avec ça, je suis passé à 70/100.
C'est pas formidable mais je pense que cela devrait suffire pour que cela ne plante plus.
Merci encore pour tes réponses.