Bonjour,
Je rencontre un problème dont je ne me sors pas. J'espère que quelqu'un aura une idée.
Sur mon site WEB, j'ai une page qui utilise du Server-Sent Events pour afficher une sorte de log au fil de l'eau depuis le serveur.
Sur mon site OVH, j'ai un problème, les données ne sont pas envoyées au fil de l'eau comme elles devraient (et comme elles le sont sur mes environnements Php de dév et de test). Tout est envoyé à la fin du traitement comme si c'était bufferisé quelque part malgré toutes mes désactivations de buffers et mes flushs.
voici le code serveur utilisé pour reproduire le problème :
ini_set('output_buffering', 'off');
ini_set("zlib.output_compression", 0); // off
ini_set("implicit_flush", 1); // on
ob_implicit_flush(true);
ob_end_flush();
ob_end_clean();
header('Content-Type: text/event-stream');
header("Cache-Control: no-cache, no-store, must-revalidate");
for ($i = 1; $i <= 4; $i++) {
echo "id: ".$i.PHP_EOL;
echo 'data: '.date("Y-m-d h:i:s",time())." ping".PHP_EOL.PHP_EOL;
ob_end_flush();
flush();
sleep(5);
}
sleep(10);
print_r(ini_get_all());
?>
url de cette page de test : http://www.zeolitop.com/test/test.php
c'est censé :
- désactiver toutes les causes potentielles de bufferisation
- afficher un événement toutes les 5 secondes pendant 20 secondes
- attendre 10 secondes
- afficher l'environnement php
Ce que ça fait très bien sur tous mes environnement sauf sur mon hébergement ovh sur lequel ça affiche tout au bout de 30s comme si tout était bufferisé jusqu'à ce que le script se termine.
ma config ovh :
app.engine=php
app.engine.version=5.6
http.firewall=none
app.engine=phpcgi
environment=development
je n'ai rien trouvé dans la doc OVH et épuisé toutes mes idées...
J'espère que vous pourrez m'aider.
Hébergements Web - Problème de buffering de contenu text/event-stream
Related questions
- Connexion à mon compte client
105681
13.02.2019 09:51
- Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS
93903
03.09.2018 14:46
- reCAPTCHA erreur pour le propriétaire du site : clé de site non valide
79633
14.02.2019 16:17
- [FAQ] Comment mettre à jour mon site pour supporter Apache 2.4 ?
63539
28.07.2017 11:39
- Ce site est inaccessible Impossible de trouver l'adresse DNS du serveur
58108
16.10.2016 16:24
- Augmenter taille PHP Post Max Size sur mutualisé ?
57387
04.12.2019 21:52
- The requested URL / was not found on this server
56908
02.03.2017 18:25
- Passage en php 7.4
56574
30.06.2020 05:05
- NextCloud sur mutualisé
56308
07.04.2017 08:42
- Deploy d'un projet Node JS
55866
12.10.2016 20:18
Avez vous tester en passant sur l'environnement plus récent ?
app.engine=php
app.engine.version=7.2
http.firewall=none
environment=production
**container.image=stable**
oui, c'est exactement pareil avec ces paramètres là.
ca n'a pas l'air de venir de la version de Php (idem en 5.6 et 7.2) ni du paramètre environment (idem en development ou en production)
Bonjour,
Avez vous reussi a regler votre problème?
J'ai exactement le même et je trouve aucune solution.
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
Ca marche très bien en server local (Apache) et me renvoie un Content-Type: text/html; charset=UTF-8 sur le serveur d'OVH.
A l'aide !!!!!
Oui, j'ai ouvert un ticket en leur décrivant le problème et ils m'ont répondu "c'est réglé".
En effet, cela fonctionnait.
Je vous suggère de faire la même opération
Bonjour
Meme problème la commande
ob_implicit_flush ne fonctionne pas
J'ai ouvert un ticket on va voir.
Merci,
Christophe