在我的 PHP.INI 中,gzip compression
已经启用。我可以ob_start('ob_gzhandler');
在我的 PHP 页面中使用吗?这两者有什么不同?
问问题
9484 次
2 回答
7
像这样启用压缩:在 PHP.ini 中可以这样做:
zlib.output_compression = On
这意味着 PHP 服务的每个页面都将被压缩,这可能是也可能不是您想要的。
但是,使用 ob_start('ob_gzhandler') 只会压缩特定的缓冲区/页面,不会影响 PHP 提供的任何其他内容。
如果您只想压缩某些输出,请使用第二种方法。将两者混合将毫无意义,并且可能只会使用额外的 CPU 周期来尝试压缩已经压缩的输出。
可能是 PHP 足够聪明,只能进行一次压缩,但同时使用这两种方法仍然是徒劳的。
通常最好在您的 Web 服务器中启用压缩,但这取决于您要实现的目标。
于 2012-11-28T13:26:10.657 回答
2
你不能同时使用这两者。
“你不能同时使用 ob_gzhandler() 和 zlib.output_compression。还要注意使用 zlib.output_compression 优于 ob_gzhandler()。”
http://www.php.net/manual/en/function.ob-gzhandler.php
如果需要缓冲输出,您仍然可以使用 ob_start(),只是不能使用 gzhandler 回调。
于 2012-11-28T13:37:06.130 回答