Home  >  Article  >  Backend Development  >  IIS6.0 Turn on Gzip and PHP Gzip_PHP tutorial

IIS6.0 Turn on Gzip and PHP Gzip_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:28:53937browse

Because we are working on a project, the server mainly provides data. However, if there is too much data, the file will become larger, which wastes traffic and time, so we use Gzip to process it. I use apache on my local machine, IIS6.0 on the server, and use php, so I will share it here.

GZIP compression for IIS                                          1. First back up the IIS configuration file, copy C:Windowssystem32inetsrvmetabase.xml to another backup folder. C:Windowssystem32inetsrvmetabase.xml is the core configuration file of IIS. Once the integrity of the file is destroyed, IIS will It cannot run properly and is so serious that it requires reinstalling the system.

2. Start Internet Information Services (IIS) Manager in the Start menu, right-click on the "Website" properties, open the "Services" tab, and check the two options of "HTTP Compression". "Temporary directory" and "Temporary directory maximum capacity" can be set as needed. Click OK after the settings are completed.

3. Right-click "Web Service Extension" under "Website", add a new Web service extension, and fill in the extension name as "HTTP Compression" or anything else. Add "required files": c:windowssystem32inetsrvgzip.dll, and check "Set extension status to allow", and click OK after completion.

4. The following steps are a bit complicated. If you are not sure you can understand it, it is best not to try it. Right-click the "Local Computer" properties of "Internet Information Services", check "Allow direct editing of the configuration database" and confirm.

5. Run notepad C:Windowssystem32inetsrvmetabase.xml in the start menu and open the metabase.xml file. Please confirm again that the file has been backed up before making any changes.

6. Open metabase.xml with a text editor and use the search function to find "IIsCompressionScheme". There are three places, all together, namely deflate, gzip and Parameters. Deflate is also a compression format, but its performance is not as good as gzip. . What needs to be modified are the deflate and gzip sections. The parameters are basically the same and need to be modified.

HcDynamicCompressionLevel is used to set the compression rate. The default is 0 and the maximum is 10. Low compression level produces slightly larger compressed files but has less overall impact on CPU and memory resources. High compression levels generally produce smaller compressed files but use more CPU time and memory. Some people say that setting it to 9 is the most cost-effective.

HcFileExtensions is used to set the extension of compressed static files. The default is htm, html, and txt. Add extensions according to the website's own conditions. The most basic ones are js and css. Pay attention to the original line break format when adding.

HcScriptFileExtensions is used to set compressed dynamic file extensions. The default is asp, dll and exe. You can add extensions as needed, such as aspx, php, etc. You can leave this field's default deletion blank so that all dynamic responses are sent compressed. Additionally, all unspecified static file types in HcFileExtensions will also be dynamically compressed and therefore not placed in the cache. Likewise, HcDoDynamicCompression must be set to

true

for dynamic compression.

PHP Gzip                                                                                      

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

Please indicate the source for reprinting: http://www.cnblogs.com/yydcdut

http://www.bkjia.com/PHPjc/780577.html

www.bkjia.com

true

TechArticleBecause we are working on a project, the server mainly provides data, but if there is too much data, the file will become larger, which is more wasteful. We use Gzip to handle traffic and time. On this machine I am...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn