Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.164 Beiträge
 
Delphi 12 Athens
 
#2

AW: PHP: Echo bevor eine Skript läuft

  Alt 25. Okt 2022, 17:18
Theoretisch würde ob_flush funktionieren, ABER

ich bin mit fast sicher, dass dein Provider dir heimlich einen Handler unterschiebt.
Viele haben einen CompressionsHandler und/oder CacheHandler standardmäßig aktiviert.

siehe ob_get_level

Du müsstest also das Flush auf allen Handlern machen, aber kann sein, dass es bei der Compression nicht richtig funktioniert,
bzw. es kann sein, dass der Client (Browser) den unvollständigen Stream nicht verarbeitet und dort nichts angezeigt wird, bevor es komplett da ist.


Lösung:
In den Einstellungen deines WabSpaces, bzw. vermutlich mit irgendeinem Befehl z.B. in der .htaccess, diesen Default-Handler deaktivieren.

Oder ALLE Handler erstmal beenden (wichtig, muß gemacht werden, bevor irgendwelche Daten raus gehn, weil z.B. kompiriert und gefolgt von unkomprimiert geht nicht zusammen)
z.B. so oft ob_end_clean, bis ob_get_level 0 sagt.


Alternativ:
Dein Script gibt die Meldung aus und beendet sich.
Dann wird via JavaScript ein anderes Script oder sich selbst (mit einem Parameter) aufgerufen, wo dann die Aktion läuft.
Entweder weiterleiten, wo der alte Text so lange da bleibt, bis fertig geladen
oder ala AJAX den Aufruf nur intern laden und dann dessen Rückgabe in die Ausgabe der aktuellen Seite schreiben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Okt 2022 um 17:24 Uhr)
  Mit Zitat antworten Zitat