zlib.output_compression和output_buffering

use*_*621 6 php compression buffer

我可以通过将zlib.output_compression指令设置为来压缩输出on,然后将output_buffering指令设置为off

其次,我读到我可以为zlib.output_compression指令设置一个数字值,指定一个特定的缓冲区大小.但是如果我还将output_buffering指令设置为不同的字节数值呢?最大缓冲区大小是多少?

Ale*_*gin 8

  1. 是的,您可以通过这种方式压缩PHP输出,但是Web服务器(nginx,Apache)可以对所有类型的内容(css资产等)进行更有效的压缩,而不仅仅是PHP输出:)

  2. 是的,您可以将zlib.output_compression设置为数值 http://php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression

    此选项也接受整数值而不是布尔"On"/"Off",使用此选项可以设置输出缓冲区大小(默认为4KB).至于最大缓冲区大小,你不能设置它比Web服务器可以处理的更多.例如,nginx使用4K或8K输出缓冲区. http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffer_size

  3. ob_gzhandler压缩级别使用zlib.output_compression_level,默认值为-1,级别6(默认值-1,让服务器决定使用哪个级别).但!PHP手册http://php.net/manual/en/function.ob-gzhandler.php说:

    您不能同时使用ob_gzhandler()和zlib.output_compression.另请注意,使用zlib.output_compression比ob_gzhandler()更受欢迎.