本文概述
厌倦了在本地开发环境中看到生产服务器所使用的JavaScript, HTML和CSS文件大小不同的情况?你可以考虑在Xampp中启用Gzip压缩(应该在每个Web服务器上都应启用并启用), 这样, 在考虑应用程序的实际大小时, 你就不会感到头疼。
在本文中, 我们将向你展示如何在本地Xampp服务器中启用gzip压缩。
继续之前
要亲眼看到压缩的变化, 我们建议你对浏览器的”网络”标签截屏以查看资产的总大小。在我们的示例中, chrome的网络屏幕截图如下:
无需Gzip压缩即可下载318 KB。话虽如此, 让我们开始吧!
1.修改php.ini
首先需要启用zlib的压缩功能。如果请求的浏览器支持, zlib扩展提供了即时透明地压缩页面的选项。
打开你的php.ini文件(xampp / php / php.ini), 然后继续更改zlib.output_compression选项的值。此属性可能设置为Off, 因此请确保将其值设置为On, 以使gzip压缩可用:
; Transparent output compression using the zlib library
; Valid values for this option are 'off', 'on', or a specific buffer size
; to be used for compression (default is 4KB)
; Note: Resulting chunk size may vary due to nature of compression. PHP
; outputs chunks that are few hundreds bytes each as a result of
; compression. If you prefer a larger chunk size for better
; performance, enable output_buffering in addition.
; Note: You need to use zlib.output_handler instead of the standard
; output_handler, or otherwise the output will be corrupted.
; http://php.net/zlib.output-compression
zlib.output_compression=On
保存更改并继续修改httpd.conf文件。
2.修改httpd.conf文件
通过将伪指令放置在纯文本配置文件中来配置Apache HTTP Server。主要配置文件通常称为httpd.conf。该文件的位置通常在/xampp/apache/conf/httpd.conf中, 因此请打开该文件, 并通过删除该行开头的任何#来取消注释mod_deflate.so和mod_filter.so扩展名:
# Enable deflate and filter with the following pattern
# LoadModule <action> <file>
# Note that according to your OS, the <action> may change
# so be sure that modules/mod_deflate.so and modules/mod_filter.so
# are uncommented !
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
这些行取消注释后, 你现在需要在httpd.conf文件的末尾添加以下块。该块指定应使用gzip压缩服务提供xampp目录。最终, 你应该将其应用于所有htdocs文件夹内容, 但这取决于你:
SetOutputFilter DEFLATE
# Set the path to the directory where you wish to apply the gzip compression
# Usually you would like to apply that to the entire htdocs folder, but you can change it
<Directory "C:/xampp/htdocs">
<IfModule mod_deflate.c>
# Add any file type you want
AddOutputFilterByType DEFLATE text/html
</IfModule>
</Directory>
保存更改并使用Xampp的控制面板重新启动所有服务, 然后在浏览器中访问你的项目。现在, 你应该看到每个文件的大小都减小了(可以将它们与初始屏幕截图进行比较):
现在, 总大小从318KB减少到只有112KB。
编码愉快!