下面是详细的“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文件开启
-
打开php.ini文件。
-
找到以下配置项:
; 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
-
将
output_buffering
的值更改为一个数字,例如1024或4096,以启用输出缓冲区并压缩输出。 -
保存文件并重启Apache服务器。
验证gzip是否开启
可以通过以下方法验证gzip是否成功开启:
-
使用浏览器的开发者工具查看页面加载内容的大小,在响应头部中应显示
Content-Encoding: gzip
。 -
在命令行中使用
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压缩:
-
打开
php.ini
文件。 -
找到以下配置项:
output_buffering=4096
-
将
output_buffering
的值更改为一个数字。 -
保存文件并重启Apache服务器。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP开启gzip页面压缩实例代码 - Python技术站