Php 默认情况下Apache2 gzip json输出吗?

Php 默认情况下Apache2 gzip json输出吗?,php,apache,gzip,Php,Apache,Gzip,我将此PHP代码用于json输出。ApacheGZIP是否默认为它?或者,我如何检查以确保 header('Content-type: application/json'); header('Cache-Control: max-age=0,no-cache,no-store,post-check=0,pre-check=0'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); echo json_encode($response); 没有g

我将此PHP代码用于json输出。ApacheGZIP是否默认为它?或者,我如何检查以确保

header('Content-type: application/json');
header('Cache-Control: max-age=0,no-cache,no-store,post-check=0,pre-check=0');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
echo json_encode($response);

没有gzip通常是不使用的,你必须自己强制执行

在最简单的情况下,您只需添加以下php行:

ob_start("ob_gzhandler");

另请参见官方。

这就是我的诀窍:

(假设您可以访问apache配置)

我在
/etc/apache2/mods available/deflate.conf
中直接添加了这一行(因此它适用于web服务器上的每个json文件),也许其他地方更适合您的用例(例如,如果您只想为单个web应用程序启用json压缩,而不是默认情况)


编辑:在google chromes developer tools中,您可以轻松检查您的内容是压缩的还是未压缩的:

我相信这就是您要找的。可能还需要
AddOutputFilterByType DEFLATE text/json
AddOutputFilterByType DEFLATE application/json