Gzip没有致力于本地开发

时间:2013-06-18 11:44:58

标签: php linux compression gzip mamp

我正在使用Kohana minifier模块将less / css和js文件压缩为类型组合文件。

/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压缩。我的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']);
}

我真的很感激这方面的一些指导,因为我对如何解决这个问题感到难过,或者它只是与本地服务器有关。

2 个答案:

答案 0 :(得分:0)

试试http://php.net/manual/ru/function.gzcompress.php 它可能对你有所帮助,就像它帮助过我一次:))

答案 1 :(得分:0)

这可能只是你帖子中的拼写错误,但是

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

应该是

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