PHP开启gzip页面压缩实例代码

下面是详细的“PHP开启gzip页面压缩实例代码”的攻略。

下面是详细的“PHP开启gzip页面压缩实例代码”的攻略。

什么是gzip压缩?

GZip是GNU zip格式(GNU程序的一部分)。例如,Firefox发出一个HTTP请求以请求HTML,CSS和JavaScript文件。发送服务器的响应是类似的,其中包含HTML,CSS和JavaScript文件。当gzip被启用时,服务器将压缩响应的内容并将其发送回浏览器,这可以使响应更小,速度更快。

开启gzip压缩

通过.htaccess文件开启

可以通过在网站根目录中的.htaccess文件中添加以下代码来启用gzip压缩:

<IfModule mod_deflate.c>
    # 静态文件类型
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

此代码会压缩text/application/类型的文件。

通过php.ini文件开启

  1. 打开php.ini文件。

  2. 找到以下配置项:

; Output buffering allows you to send header lines (including cookies) even
; after you send body content, at the price of slowing PHP's output layer a
; bit.  You can enable output buffering during runtime by calling the output
; buffering functions.  You can also enable output buffering for all files by
; setting this directive to On.  If you wish to limit the size of the buffer
; to a certain size - you can use a maximum number of bytes instead of 'On', as
; a value for this directive (e.g., output_buffering=4096).
; Note: Output buffering can also be controlled via Appending to an ini file
;       (output_buffering=4096).
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering=4096
  1. output_buffering的值更改为一个数字,例如1024或4096,以启用输出缓冲区并压缩输出。

  2. 保存文件并重启Apache服务器。

验证gzip是否开启

可以通过以下方法验证gzip是否成功开启:

  1. 使用浏览器的开发者工具查看页面加载内容的大小,在响应头部中应显示Content-Encoding: gzip

  2. 在命令行中使用curl工具,例如:curl -H 'Accept-Encoding: gzip' -I http://example.com。响应头部应该显示Content-Encoding: gzip

示例说明

示例一

使用第一种方法在.htaccess文件中开启gzip压缩:

<IfModule mod_deflate.c>
    # 静态文件类型
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

示例二

使用第二种方法,在php.ini文件中开启gzip压缩:

  1. 打开php.ini文件。

  2. 找到以下配置项:

output_buffering=4096
  1. output_buffering的值更改为一个数字。

  2. 保存文件并重启Apache服务器。

本文标题为:PHP开启gzip页面压缩实例代码

基础教程推荐