登录  /  注册

PHP如何开启gzip提升网页响应速度

小云云
发布: 2018-03-08 14:06:55
原创
3061人浏览过

本文主要和大家分享php如何开启gzip提升网页响应速度,希望能帮助到大家。

1、apache开启gzip(此方式需要重启服务器):

a.开启模块:

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
登录后复制

b.httpd.conf中增加

<ifmodule deflate_module>  DeflateCompressionLevel 9  
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/json application/xml
  AddOutputFilter DEFLATE js css
  AddOutputFilter INCLUDES .shtml .htm .xml .php .html</ifmodule>
登录后复制

c.重启服务器

2、php开启gzip

原理:

header("Content-Encoding: gzip");echo gzencode(&#39;songjiankang&#39;);
登录后复制

示例1:

function ob_gzip ($content) // $content 就是要压缩的页面内容,或者说饼干原料{    if (! headers_sent() &&     // 如果页面头部信息还没有输出
    extension_loaded("zlib") &&     // 而且zlib扩展已经加载到PHP中
    strstr($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip"))     // 而且浏览器说它可以接受GZIP的页面    {        $content = gzencode($content . " \n//此页已压缩", 9); // 此页已压缩”的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0表示无压缩,9表示最大压缩,当然压缩程度越高越费CPU。
                                                                  
        // 然后用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了!
        header("Content-Encoding: gzip");        header("Vary: Accept-Encoding");        header("Content-Length: " . strlen($content));
    }    return $content; // 返回压缩的内容,或者说把压缩好的饼干送回工作台。}ob_start(&#39;ob_gzip&#39;);
登录后复制

示例2:

#ob_gzhandler 为php内置函数,具体参考手册ob_start(&#39;ob_gzhandler&#39;);
登录后复制

相关推荐:

Apache如何开启GZIP压缩功能

php判断页面文件是否经过gzip压缩

教会你如何在Node.js中开启Gzip压缩方法

以上就是PHP如何开启gzip提升网页响应速度的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号