2013-06-18 93 views
3

我正在使用Kohana縮小器模塊將less/css和js文件壓縮成類型組合文件。Gzip不適用於本地開發

/less/f31e419e939bfec51b4fe8322f545455.less?r=20130618 /js/24dae189814109f20ff9a5bf4422be36.js?r=20130618

我使用MAMP PRO但收到Firefox和Chrome以下錯誤:

Content Encoding Error 
This webpage is not available 

內容頭是通過如來:

HTTP/1.1 200 OK 
Date: Tue, 18 Jun 2013 11:17:14 GMT 
Server: Apache 
X-Powered-By: PHP/5.4.4 
Etag: "acf11d952c07adb223fa77f3d385f56e" 
Cache-Control: must-revalidate 
Last-Modified: Thu, 13 Jun 2013 21:57:04 +0000 
Content-Encoding: gzip 
Content-Length: 16894 
Set-Cookie: session_database=ecfc139402165669a4b6d5e8190564231133fb0d%7E51c041ba9f6e95-28008580; expires=Wed, 19-Jun-2013 11:17:17 GMT; path=/ 
Content-Type: text/css; charset=utf-8 

內容如果我刪除gzip編碼,但顯然我想利用gzip compressio ñ。我的PHP代碼:

// Further up the page 
$data['cache_gz'] = gzencode($data['cache']); 

//... 

if ($gzip === FALSE){ 
    $this->response->body($data['cache']); // Works 
}else{ 
    this->response->headers('Content-Encoding', $gzip); // Doesn't Work 

    $this->response->headers('Content-Length', strlen($data['cache_gz'])); 
    $this->response->body($data['cache_gz']); 
} 

會很感激這個一些指導,我難倒就如何解決這個問題,或者如果它只是關係到作爲一個本地服務器上。

+0

在你的本地Apache上啓用了mod_deflate嗎? – quidage

+0

是的,所有的模塊都是加載,包括mod_deflate – dclawson

+1

在gzencode函數的php.net manpage中。一個評論建議添加ini_set('zlib.output_compression','關');在gzencode之前。爲什麼你使用gzencode(...),即使gzip標誌是假的? – 0xBAADF00D

回答

0

這可能只是在您的文章錯字,但

this->response->headers('Content-Encoding', $gzip); 

應該

$this->response->headers('Content-Encoding', $gzip); 
相關問題