Für php flush - deaktivieren der gzip für bestimmte Datei?
Habe ich einen ajax-Aufruf somefile.php . ich will das php-Skript zu tun, eine einfache Aufgabe und als zurück senden von Daten an den Benutzer, und nur als sehr zeitaufwendig Aufgaben. also muss ich Spülen Sie die Ausgabe nach dem ersten einfache Aufgabe. es funktioniert nicht, wahrscheinlich weil ich gzip aktiviert.
Ich definitiv nicht wollen, zu deaktivieren gzip über alle vhost, und auch nicht in alle Ordner, in denen somefile.php ist. ich will einfach nur, um es zu deaktivieren für diese bestimmte Datei. ist das möglich?
EDIT:
dies ist, was ich in meiner apache-conf:
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
dies ist mein php-Skript:
<?php
$sucesss = @apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
ob_start();
for($i=0;$i<10;$i++)
{
echo 'printing...';
ob_flush();
flush();
sleep(1);
}
?>
funktioniert es nicht. ich sehe immer noch die Ausgabe zusammen nach 10 Sekunden.
- Wenn es Ihre web-server, der verarbeitet die gzip-Komprimierung, ich glaube, Sie können nicht deaktivieren es über PHP.
- Vielleicht mal hier gucken : stackoverflow.com/questions/1922934/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war auf der Suche nach Lösungen für das gleiche Problem. Das ist was für mich gearbeitet, aber leider es scheint NICHT zu einem GÜLTIGEN header.
Content-Encoding
Spezifikationen: w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5apache_setenv()
korrekt ist. Finden Sie in der Dokumentation.http://php.net/manual/en/function.apache-setenv.php#60530
Dein problem ist, dass Sie sich auf die Ausgabe-Pufferung mit
ob_start()
. Kommentar aus.Ich habe gelernt, dass
apache_setenv()
ist nur mit dem PHP-Apache-Modul. Es ist nicht verfügbar bei der Verwendung von FPM. In diesem Fall müssen Sie.htaccess
ausschalten, GZip. Ein Beispiel isthttps://stackoverflow.com/a/36212238/148844
Den
-
bedeutet NOOP,E
bedeutet variable setzen,1
ist der Wert. Nach redirects, die die Variablen umbenannt und vorangestellt, mitREDIRECT_
.Wenn die Ausgabe immer noch gepuffert werden, überprüfen Sie, ob Sie über einen proxy-oder cache-Speicher. Sehen Sie, wenn überschriften wie
Via: 1.1 varnish
oderVia: 1.1 vegur
vorhanden sind. Sie wird Puffer die Reaktion auch.Setzen Sie diese in httpd.conf
ajax.php?a=list&id=5
-> mit Kompressionajax.php?a=download&file=image.png
-> ohne Kompression$
aus der regex und enthalten die request-parameter. Wieajax\.php\?a=download
.