如何将gzip内容作为PHP响应发送

har*_*329 15 php

我的ajax响应非常大,实际上是900kb.所以我需要gzip来提高性能.

任何人都可以帮助我从我的PHP获取gziped内容.

提前致谢.

Cha*_*ase 24

在输出页面上的任何内容之前抛出:

ob_start("ob_gzhandler");
Run Code Online (Sandbox Code Playgroud)

然后在您的内容跟进之后:

ob_end_flush();
Run Code Online (Sandbox Code Playgroud)

并且您的内容将被gzip压缩

  • 正如ra_htial所提到的那样,最好使用`zlib.output_compression`而不是`ob_gzhandler`,正如php.net docs推荐的那样,而且不要忘记在输出结束时使用`ob_end_flush();`. (2认同)

trr*_*rrm 13

选项1:

zlib.output_compression在你的配置php.ini

Doc:http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression

选项2:

使用 : ob_gzhandler

Doc:http://php.net/manual/en/function.ob-gzhandler.php

注意:

900Kb 对ajax的反应太过分了.


小智 6

如果php.ini在使用之前无法更新配置文件,ob_gzhandler()也可以尝试:

ini_set('zlib.output_compression', 1);
Run Code Online (Sandbox Code Playgroud)