php启用gzip压缩(php解压压缩包)

本文目录一览:

如何在PHP开启gzip页面压缩实例

1、apache环境下开启gzip

找到并打开apache/conf目录中的httpd.conf文件

httpd.conf中打开deflate_Module和headers_Module模块,具体做法为将 如下两句前面的#去掉:

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

在httpd.conf文件底部加入如下代码配置需要压缩的文件:

IfModule deflate_module

SetOutputFilter DEFLATE

# Don’t compress images and other

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css

AddOutputFilterByType DEFLATE application/x-javascript

/IfModule

重启apache服务端

使用工具重新检测是否开启gzip压缩。考虑到相关广告检测机制具体的gzip检测工具访问地址可以到搜索引擎中去查找。

2、iis7.0以上

如何开启gzip压缩方法大全

IIS6.0启用Gzip压缩的方法:

1、新建Web服务扩展(如下图)

dll路径:“c:windowssystem32inetsrvgzip.dll”,然后启用。

2、网站服务中开启HTTP压缩支持(如下图)

临时目录需要给IIS用户读写权限。

3、修改IIS配置文件MetaBase.xml

文件路径:“c:windowssystem32inetsrv”(请先备份至他处),打开后搜索“HcDynamicCompressionLevel”,并修改(确定已备份)“Compression/deflate”和“Compression/gzip”两个片段的内容。下面的图n和图b所修改的内容用意是将js、css和php加入到压缩的范畴,数字9代表压缩等级。

(图n)

(图b)

4、重启IIS服务使之生效

——————————————————分分割割—————————————————

Apache启用Gzip压缩的方法:

1、开启模块并添加配置项目

a、vi /etc/httpd/conf/httpd.conf

b、查找LoadModule (/LoadModule),加入“LoadModule deflate_module modules/mod_deflate.so”这行

c、添加配置项目(下段内容)

复制代码代码如下:

IfModule mod_deflate.c

# 压缩等级 9

DeflateCompressionLevel 9

# 压缩类型 html、xml、php、css、js

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php

AddOutputFilter DEFLATE js css

/IfModule

2、重启apache使之生效

service httpd start

——————————————————分分割割—————————————————

检测是否支持Gzip

END

注意事项

1. 在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin

2. 修改完成后开启iisadmin服务,并执行iisreset命令

关于SEO的测试

压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。

如何用PHP实现页面的GZIP压缩输出

第一步,你需要对php的设置如下:

php.ini: output_buffering = Off output_handler = ob_gzhandler zlib.output_compression = Off zlib.output_compression_level = -1

第二步,你需要在apache下增加如下设置:

AddOutputFilter DEFLATE html php js css

这样就可以对html php js css进行gzip压缩了。

第三步,你需要使用如下php压缩html并输出到客户端的函数:

function compress_html($string) { return ltrim(rtrim(preg_replace(array(“/ *([^ ]*) */”,”//”,”‘/\*[^*]*\*/'”,”/\r\n/”,”/\n/”,”/\t/”,’/[ ]+/’), array(“\\1″,”,”,”,”,”,”),$string))); }

上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。

通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。

如何开启gzip压缩

gzip是HTML压缩算法的一种,HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩工作原理是:

Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;

如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;

如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;

如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;

如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;

如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

怎么做gzip压缩呢?大致有:在Contol Pannel开启gzip、开启http服务器gzip、利用php本身的gzip。

IE6和火狐都支持客户端gzip,在网页传输之前,先使用gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示。

IIS6已经内建了gzip压缩的支持。在IIS6上做gzip压缩的方法是:

如果你需要压缩静态文件,可以先在硬盘上新建一个目录,并给它“IUSR_机器名”这个用户设置写权限。如果压缩动态文件就可以不用这样的,因为它的页面是每次都动态生成的(页面动态生成),压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。给gzip的临时目录空间不要太大了200MB左右就够了。

然后选中网站下面那个服务器扩展,新建一个服务器扩展。可以用任何你想用的名字,下面的添加文件的路径是:

c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。

这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。我们只能去修改它的配置文件了。

在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到IIsCompressionScheme,有三个相同名字的段,

分别是

IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/deflate”

IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/gzip”

IIsCompressionSchemes Location =“/LM/W3SVC/Filters/Compression/Parameters”

前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。HcDynamicCompressionLevel改成9,9是性价比最高的一个。

至此,怎么做gzip压缩的过程我们就都实现了,需要注意的是:网页启用了gzip压缩后网站打开速度通常可能不会有太明显的感觉(相对于浏览者),可以用一些特定的来检查你的网页是否压缩过了,以及压缩比和加快的速度。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:14
下一篇 2024-12-12 12:14

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 用Python解压缩压缩包

    本文将从多个方面对用Python解压缩压缩包进行详细阐述,并给出相应的代码示例。 一、导入必要的库 使用Python解压缩压缩包需要用到ZipFile库,因此需要先导入该库。 im…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24
  • PHP导出Excel文件

    一、PHP导出Excel文件列宽调整 当我们使用PHP导出Excel文件时,有时需要调整单元格的列宽。可以使用PHPExcel类库中的setWidth方法来设置单元格的列宽。下面是…

    编程 2025-04-24

发表回复

登录后才能评论