導航:首頁 > 文件處理 > php開啟gzip壓縮

php開啟gzip壓縮

發布時間:2022-09-28 02:59:38

❶ wordpress優化怎麼開啟GZIP壓縮

開啟GZIP壓縮需要空間支持,比如你買的萬網的空間就不能開啟GZIP壓縮。


如果你自己建的伺服器可以開啟gzip壓縮,一般自己搭建伺服器是apache的


【apache啟用gzip壓縮方法】

這里只能跟你將apache的方法,


通過查看HTTP頭,我們可以快速判斷使用的客戶端瀏覽器是否支持接受gzip壓縮。若發送的HTTP頭中出現以下信息,則表明你的瀏覽器支持接受相應的gzip壓縮:

Accept-Encoding:gzip支持mod_gzip
Accept-Encoding:deflate支持mod_deflate

Accept-Encoding: gzip,deflate 同時支持mod_gzip 和mod_deflate


在apache2.0以上(包括apache2.0)的版中gzip壓縮使用的是mod_deflate模塊,下面是具體配置步驟 如下:

1、修改Apache的http.conf文件,去除mod_deflate.so前面的注釋

LoadMoledeflate_molemoles/mod_deflate.so

2、在根目錄中新建.htaccess文件,定製壓縮規則

#GZIP壓縮模塊配置
<ifmole mod_deflate.c>
#啟用對特定MIME類型內容的壓縮

SetOutputFilterDEFLATE
SetEnvIfNoCaseRequest_URI.(?:gif|jpe?g|png|exe|t?gz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$no-gzipdont-vary#設置不對壓縮的文件
/htmltext/csstext/plaintext/xmlapplication/x-httpd-php

application/x-javascript #設置對壓縮的文件
</ifmole>

3、對指定的文件配置緩存的生存時間,去除mod_headers.so模塊前面的注釋

LoadMoleheaders_molemoles/mod_headers.so

4、在根目錄中新建.htaccess文件,定製壓縮規則

#文件緩存時間配置

<FilesMatch".(flv|gif|jpg|jpeg|png|ico|swf|js|css)$">
HeadersetCache-Control"max-age=2592000"
</FilesMatch>

裡面的文件MIME類型可以根據自己情況添加,至於PDF 、圖片、音樂文檔之類的這些本身都已經高度壓縮格式,重復壓縮的作用不大,反而可能會因為增加CPU的處理時間及瀏覽器的渲染問題而降低性能。所以就沒必要再通過Gzip壓縮。通過以上設置後再查看返回的HTTP頭,出現以下信息則表明返回的數據已經過壓縮。即網站程序所配置的Gzip壓縮已生效。

Content-Encoding:gzip

註:不管使用mod_gzip 還是mod_deflate,此處返回的信息都一樣。因為它們都是實現的gzip壓縮方式。

❷ PHP靜態頁面GZIP壓縮亂碼問題

如果在php.ini中已經設置zlib.output_compression = On再程序中再使用gzencode()壓縮就會出現亂碼. 二者只可使用一個,同時使用相當於壓縮了兩次,瀏覽器訪問只解壓一次,看到的就是亂碼了

❸ 如何啟用網頁GZIP壓縮

下面」舒宇卓創站長「將和大家一起分享一下,希望對咱們站長有所幫助! 1.開啟網頁GZIP壓縮有什麼好處? Gzip開啟以後會將輸出到用戶瀏覽器的數據進行壓縮的處理,這樣就會減小通過網路傳輸的數據量,提高瀏覽的速度。 進而對於搜索引擎的收錄也有一定的好處,也大大提高了我們的用戶體驗度。 2.如何啟用IIS的Gzip壓縮功能: 首先要有網站管理許可權和伺服器遠程管理許可權 步驟如下: 第一、如果你需要壓縮靜態文件(HTML),需要在硬碟上建一個目錄,並給它「IUSR_機器名」這個用戶的寫許可權。如果壓縮動態文件(PHP,asp,aspx)就不需要了,因為它的頁面是每次都動態生成的,壓縮完就放棄。打開Internet信息服務(IIS)管理器,右擊「網站」—>「屬性」(注意:這里的網站是整個網站文件不是某個網站目錄),之後選擇「服務」。在「HTTP壓縮」框中選中「壓縮應用程序文件」和「壓縮靜態文件」,按需要設置「臨時目錄」和「臨時目錄的最大限制」。 第二、在Internet信息服務(IIS)管理器,右擊「Web服務擴展」—>「增加一個新的Web服務擴展」,在「新建Web服務擴展」框中輸入擴展名「HTTP Compression」,添加「要求的文件」為C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統目錄根據您的安裝可能有所不同,選中「設置擴展狀態為允許」;這時候靜態內容是可以壓縮的,但是對於動態內容,aspx文件卻不在壓縮范圍內。因為默認的可壓縮文件並沒有這個擴展名。而管理界面中你又找不到可以增加擴展名的地方,這時候只能去修改它的配置文件了。 第三、使用文本編輯器打開C:\Windows\System32\inetsrv\MetaBase.xml(建議先備份),查找 IIsCompressionScheme標簽,有三個相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本相同的參數,HcDynamicCompressionLevel,設置壓縮率,取值0~10,0不壓縮,10最高壓縮率,這里設置成9,9是性價比最高的一個。HcFileExtensions,需要壓縮的靜態文件擴展名,默認只有htm,html,txt,可以把js,css,xml添加進去。建議按原來的格式,用換行作為分隔。

❹ 使用php判斷網頁是否gzip壓縮

昨天晚上群里有朋友採集網頁時發現file_get_contents
獲得的網頁保存到本地為亂碼,響應的header

Content-Encoding:gzip
但在瀏覽器里看是正常的。
因為我有過相關經驗馬上發現是網站開啟了gzip而file_get_contents
獲得的是壓縮過的頁面,而不是解壓過的頁面(不知道是不是要file_get_conttents
請求網頁時帶上相應的參數,直接獲得沒有被gzip壓縮過的網頁?)
剛好我前不久剛看到可以用讀取文件的前2個位元組判斷文件類型。群裡面的朋友也說gzip壓縮過的網頁(gbk編碼)前2位元組是
1F
8B
於是就可以判斷網頁是否gzip壓縮過。
代碼如下:
復制代碼
代碼如下:
//米爾軍事網採用
gzip壓縮網頁
//file_get_contents
直接獲得的網頁是亂碼。
header('Content-Type:text/html;charset=utf-8'
);
$url
=
'http://www.miercn.com';
$file
=
fopen($url,
"rb");
//只讀2位元組
如果為(16進制)1f
8b
(10進制)31
139則開啟了gzip
;
$bin
=
fread($file,
2);
fclose($file);
$strInfo
=
@unpack("C2chars",
$bin);
$typeCode
=
intval($strInfo['chars1'].$strInfo['chars2']);
$isGzip
=
0;
switch
($typeCode)
{
case
31139:
//網站開啟了gzip
$isGzip
=
1;
break;
default:
$isGzip
=
0;
}
$url
=
$isGzip
?
"compress.zlib://".$url:$url;
//
三元表達式
$mierHtml
=
file_get_contents($url);
//獲得米爾軍事網數據
$mierHtml
=
iconv("gbk","utf-8",$mierHtml);
echo
$mierHtml;

❺ 使用phpstudy怎麼開啟Apache的Gzip網頁壓縮功能

可以用phpstudy快速搭建PHP環境。 1、網路下載phpstudy安裝包,然後安裝該服務。 2、安裝完成後,啟動phpstudy的Apache和MySQL即可。

❻ 如何開啟gzip壓縮

gzip是HTML壓縮演算法的一種,HTTP壓縮是在Web伺服器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮工作原理是:
Web伺服器接收到瀏覽器的HTTP請求後,檢查瀏覽器是否支持HTTP壓縮;
如果瀏覽器支持HTTP壓縮,Web伺服器檢查請求文件的後綴名;
如果請求文件是HTML、CSS等靜態文件,Web伺服器到壓縮緩沖目錄中檢查是否已經存在請求文件的最新壓縮文件;
如果請求文件的壓縮文件不存在,Web伺服器向瀏覽器返回未壓縮的請求文件,並在壓縮緩沖目錄中存放請求文件的壓縮文件;
如果請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;
如果請求文件是ASPX等動態文件,Web伺服器動態壓縮內容並返回瀏覽器,壓縮內容不存放到壓縮緩存目錄中。
怎麼做gzip壓縮呢?大致有:在Contol Pannel開啟gzip、開啟http伺服器gzip、利用php本身的gzip。
IE6和火狐都支持客戶端gzip,在網頁傳輸之前,先使用gzip壓縮再傳輸給客戶端,客戶端接收之後由瀏覽器解壓顯示。
IIS6已經內建了gzip壓縮的支持。在IIS6上做gzip壓縮的方法是:
如果你需要壓縮靜態文件,可以先在硬碟上新建一個目錄,並給它「IUSR_機器名」這個用戶設置寫許可權。如果壓縮動態文件就可以不用這樣的,因為它的頁面是每次都動態生成的(頁面動態生成),壓縮完就放棄。然後在IIS管理器中,「網站」上面右鍵-屬性,不是下面的某個站點,而是整個網站。進入「服務」標簽,選上啟用動態內容壓縮,靜態內容壓縮。給gzip的臨時目錄空間不要太大了200MB左右就夠了。
然後選中網站下面那個伺服器擴展,新建一個伺服器擴展。可以用任何你想用的名字,下面的添加文件的路徑是:
c:\windows\system32\inetsrv\gzip.dll,然後啟用這個擴展。
這時候靜態內容是可以壓縮的,但是對於動態內容,aspx文件卻不在壓縮范圍內。我們只能去修改它的配置文件了。
在c:\windows\system32\inetsrv\下面有個MetaBase.xml文件,可以用記事本打開,找到IIsCompressionScheme,有三個相同名字的段,
分別是
<IIsCompressionScheme Location =「/LM/W3SVC/Filters/Compression/deflate」
<IIsCompressionScheme Location =「/LM/W3SVC/Filters/Compression/gzip」
<IIsCompressionSchemes Location =「/LM/W3SVC/Filters/Compression/Parameters」
前兩段有基本相同的參數,在這兩段的參數HcScriptFileExtensions下面都加上一行aspx,如果你有其它的動態程序要壓縮,也加在這里。HcDynamicCompressionLevel改成9,9是性價比最高的一個。
至此,怎麼做gzip壓縮的過程我們就都實現了,需要注意的是:網頁啟用了gzip壓縮後網站打開速度通常可能不會有太明顯的感覺(相對於瀏覽者),可以用一些特定的來檢查你的網頁是否壓縮過了,以及壓縮比和加快的速度。

❼ 如何用PHP實現頁面的GZIP壓縮輸出

第一步,你需要對php的設置如下:
php.ini: output_buffering = Off output_handler = ob_gzhandler zlib.output_compression = Off zlib.output_compression_level = -1

第二步,你需要在apache下增加如下設置:

AddOutputFilter DEFLATE html php js css

這樣就可以對html php js css進行gzip壓縮了。

第三步,你需要使用如下php壓縮html並輸出到客戶端的函數:

function compress_html($string) { return ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'), array(">\\1<",'','','','','','><'),$string))); }

上面的這個正則表達式,很強大的哦,經過我本人親自測試可使用。
通過以上方法,你就可以將你的html代碼壓縮然後輸出給客戶端了。不信你可以查看源代碼,就是一行,網頁瞬間壓縮很小。

❽ zblog php版怎麼開啟gzip壓縮

找到並打開apache/conf目錄中的httpd.conf文件

httpd.conf中打開deflate_Mole和headers_Mole模塊,具體做法為將 如下兩句前面的#去掉:
LoadMole deflate_mole moles/mod_deflate.so
LoadMole headers_mole moles/mod_headers.so

在httpd.conf文件底部加入如下代碼配置需要壓縮的文件:
<IfMole deflate_mole>
SetOutputFilter DEFLATE
# Don』t compress images and other
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/x-javascript
</IfMole>

重啟apache服務端
使用工具重新檢測是否開啟gzip壓縮。考慮到相關廣告檢測機制具體的gzip檢測工具訪問地址可以到搜索引擎中去查找。
2、iis7.0以上

❾ 如何開啟gzip壓縮方法大全

IIS6.0啟用Gzip壓縮的方法:
1、新建Web服務擴展(如下圖)

dll路徑:「c:windowssystem32inetsrvgzip.dll」,然後啟用。

2、網站服務中開啟HTTP壓縮支持(如下圖)

臨時目錄需要給IIS用戶讀寫許可權。

3、修改IIS配置文件MetaBase.xml

文件路徑:「c:windowssystem32inetsrv」(請先備份至他處),打開後搜索「HcDynamicCompressionLevel」,並修改(確定已備份)「Compression/deflate」和「Compression/gzip」兩個片段的內容。下面的圖n和圖b所修改的內容用意是將js、css和php加入到壓縮的范疇,數字9代表壓縮等級。

(圖n)

(圖b)

4、重啟IIS服務使之生效
——————————————————分分割割—————————————————

Apache啟用Gzip壓縮的方法:

1、開啟模塊並添加配置項目
a、vi /etc/httpd/conf/httpd.conf

b、查找LoadMole (/LoadMole),加入「LoadMole deflate_mole moles/mod_deflate.so」這行

c、添加配置項目(下段內容)

復制代碼代碼如下:

<IfMole mod_deflate.c>
# 壓縮等級 9
DeflateCompressionLevel 9
# 壓縮類型 html、xml、php、css、js
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
AddOutputFilter DEFLATE js css
</IfMole>

2、重啟apache使之生效

service httpd start

——————————————————分分割割—————————————————

檢測是否支持Gzip

END
注意事項
1. 在編輯MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin

2. 修改完成後開啟iisadmin服務,並執行iisreset命令

關於SEO的測試
壓縮是否對SEO有影響,經測試,開啟後仍然可以被很好的收錄。

閱讀全文

與php開啟gzip壓縮相關的資料

熱點內容
app不見了去哪裡下載 瀏覽:614
壓縮空氣系統驗證方案 瀏覽:737
雪球app在哪裡安裝 瀏覽:304
控股平台選突破選股公式源碼 瀏覽:909
從哪裡下載數字人民幣app 瀏覽:546
winwin7網站下載文件解壓密碼 瀏覽:571
雲伺服器產品怎麼交付 瀏覽:925
反詐app在哪裡找 瀏覽:301
換手率小於前天指標源碼 瀏覽:847
什麼樣的安卓游戲能搬磚 瀏覽:814
騰訊雲加密狗 瀏覽:348
抖音育兒動畫視頻用什麼app做的 瀏覽:948
單位發郵政加密件 瀏覽:943
phpstdobject 瀏覽:308
怎麼在別人的伺服器做32k 瀏覽:619
文檔視頻加密 瀏覽:13
空調壓縮機保護電路 瀏覽:191
不思議迷宮新人玩什麼伺服器 瀏覽:807
蘋果如何查詢app伺服器地址 瀏覽:254
i12max安卓版怎麼數據遷移 瀏覽:333