Compression
即使我在 php.ini 中使用 zlib,內容也沒有被壓縮
我編輯了我的 php.ini 文件,使其具有以下兩個條目:
zlib.output_compression = On zlib.output_compression_level = 4
但是,重新啟動 apache 後,當我請求 php 頁面時,響應中返回的標頭表明我的伺服器仍未提供壓縮頁面(這裡是使用 Chrome 的網路功能查看的選定標頭):
Cache-Control:no-cache, must-revalidate, max-age=0 Connection:Keep-Alive Content-Type:text/html; charset=UTF-8 Date:Mon, 17 Sep 2012 23:46:13 GMT Expires:Wed, 11 Jan 1984 05:00:00 GMT Last-Modified:Mon, 17 Sep 2012 23:46:13 GMT Pragma:no-cache Proxy-Connection:Keep-Alive Server:Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.17 Transfer-Encoding:chunked Via:1.1 XXX-PRXY-07 X-Powered-By:PHP/5.2.17
我可能做錯了什麼?我還需要更改其他設置嗎?
編輯
這是返回到另一台電腦的另一組標頭:
Cache-Control:no-cache, must-revalidate, max-age=0 Connection:close Content-Type:text/html; charset=UTF-8 Date:Thu, 20 Sep 2012 09:45:26 GMT Expires:Wed, 11 Jan 1984 05:00:00 GMT Last-Modified:Thu, 20 Sep 2012 09:45:26 GMT Pragma:no-cache Server:Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.17 Transfer-Encoding:chunked Vary:Cookie X-Powered-By:PHP/5.2.17
看起來流量正在被代理。驗證代理可以處理壓縮流量並且由於某種原因沒有對其進行解壓縮。
如果客戶端(在這種情況下是代理,但在許多情況下是最終使用者的瀏覽器)不支持使用中的壓縮,則不會壓縮流量。
我還注意到 mod_zlib 或 mod_deflate 似乎都沒有載入。您可能需要檢查模組是否正常工作和配置(您可能必須向 apache 啟動添加定義選項,或啟用配置文件)。