Ich habe einen Ajax-Aufruf an somefile.php. Ich möchte, dass das PHP-Skript eine einfache Aufgabe erledigt und dann Daten an den Benutzer zurücksendet, und dann nur sehr zeitraubende Aufgaben. Also muss ich die Ausgabe nach der ersten einfachen Aufgabe leeren. Es funktioniert nicht, wahrscheinlich, weil ich gzip aktiviert habe.
Ich möchte definitiv nicht gzip über alle vhost deaktivieren, und auch nicht in dem ganzen Ordner, wo somefile.php ist. Ich möchte es nur für diese spezifische Datei deaktivieren. Ist das möglich?
BEARBEITEN:
Dies ist, was ich in meinem Apache conf enthalten habe:
%Vor%Das ist mein PHP-Skript:
%Vor%es funktioniert nicht. Ich sehe immer noch alle Ausgaben zusammen nach 10 Sekunden.
apache_setenv()
ist korrekt. Siehe die Dokumentation.
Ihr Problem besteht darin, dass Sie die Ausgabepufferung mit ob_start()
aktiviert haben. Kommentieren Sie das.
Ich habe gelernt, dass apache_setenv()
nur mit dem PHP Apache Modul verfügbar ist. Es ist nicht verfügbar, wenn FPM verwendet wird. In diesem Fall müssen Sie .htaccess
verwenden, um GZip zu deaktivieren. Ein Beispiel ist
% -
bedeutet NOOP, E
bedeutet Set-Variable, 1
ist der Wert. Nach Umleitungen werden die Variablen umbenannt und mit REDIRECT_
vorangestellt.
Wenn die Ausgabe noch gepuffert wird, überprüfen Sie, ob Sie einen Proxy oder Cache verwenden. Sehen Sie, ob Header wie Via: 1.1 varnish
oder Via: 1.1 vegur
vorhanden sind. Sie werden die Antwort auch puffern.