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
135093
13.02.2019 09:51
- Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS
115877
03.09.2018 14:46
- reCAPTCHA erreur pour le propriétaire du site : clé de site non valide
100984
14.02.2019 16:17
- [FAQ] Comment mettre à jour mon site pour supporter Apache 2.4 ?
87070
28.07.2017 11:39
- Passage en php 7.4
82177
30.06.2020 05:05
- Augmenter taille PHP Post Max Size sur mutualisé ?
80532
04.12.2019 21:52
- Ce site est inaccessible Impossible de trouver l'adresse DNS du serveur
79926
16.10.2016 16:24
- The requested URL / was not found on this server
79787
02.03.2017 18:25
- NextCloud sur mutualisé
79515
07.04.2017 08:42
- Deploy d'un projet Node JS
79225
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