首页 > 上网技巧 > 电脑小技巧 > Apache和PHP如何开启gzip压缩

Apache和PHP如何开启gzip压缩

时间:2020-05-13 10:20 作者:QQ地带 我要评论

Apache 开启 gzip 压缩
首先确保你的 Apache 已经加载了 mod_deflate 模块,然后在 httpd.conf 代码中加载以下代码:
 
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/json application/x-httpd-php application/x-javascript
</IfModule>
如果你没有权限修改你的主机,你也可以将以上代码复制到网站根目录的 .htaccess 文件。
 
PHP 开启 gzip 压缩
如果修改 Apache httpd.conf 文件无效,则可以通过修改 PHP 的 php.ini 方法:
 
打开 PHP 目录下的 php.ini 文件,找到 zlib.output_compression = Off,改成 zlib.output_compression = On,再把 ;zlib.output_compression_level 前面的;去掉,后面的-1改成1~5的数值,这样便可以实现所有 PHP 页面的 gzip 效果。
 
如果无法修改 php.ini 文件,则可以在需要 gzip 压缩的 PHP 文件头部加入:
 
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start('ob_gzhandler');
}else{
ob_start();
}
既可以实现该 php 页面 gzip 压缩。
 
WordPress 开启 gzip 压缩
如果修改 Apache httpd.conf 文件和 PHP 的 php.ini 文件的方法都无效,则将下面的代码复制到当前主题的 functions.php 文件中也可以实现 WordPress 整站 gzip 压缩:
 
add_action('init', 'oicqzone_com_gzip_compression');
function oicqzone_com_gzip_compression(){
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
ob_start('ob_gzhandler');
}else{
ob_start();
}
}
总结
经过测试,采用服务器压缩要比使用 PHP 压缩要更快,而且压缩之后更小。所以最好的方法还是直接让 Apache 直接进行 gzip 压缩。如果无法修改 Apache 的 httpd.conf 文件,再尝试去修改 php.ini 文件,最终才是使用修改 php 文件以及 WordPress hook 的方法。

标签: php apache
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告