search
HomeBackend DevelopmentPHP TutorialIIS6.0 Turn on Gzip and PHP Gzip_PHP tutorial

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
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool