CodeIgniter中使用gzip压缩技术

8
有没有办法在CodeIgniter中使用gzip压缩?如果有,请分享库、插件或帮助程序... 谢谢!

我认为最好您探索下面提到的链接 https://stackoverflow.com/questions/42855966/codeigniter-gzip-compression-issue - M Mamoon Khan
2个回答

25

在您的配置文件中将compress_output更改为TRUE。我认为它使用gzip。

还有这个免责声明:

非常重要: 如果启用压缩时出现空白页面,则表示您过早地向浏览器输出了某些内容。这甚至可能是脚本末尾的空格行。为使压缩生效,在输出类调用输出缓冲区之前,不能发送任何内容。不要使用“echo”命令输出值,并启用压缩。


1
好的回答。还要注意,在共享主机上,虚拟主机设置可能已经在所有内容上启用了gzip。如果您在CI中启用gzip,则会获得双重压缩,这会导致非常奇怪的问题 :) - Fer
1
@Matthew:我已经启用了gzip,但根据CodeIgniter文档的说明不要在启用压缩时“echo”任何值。那么我该如何在我的网站中使用ajax呢?因为它使用echo来返回值... - chhameed
2
@Hameed,我没有处理过这个问题(我只使用服务器端压缩)。但也许这个函数会有所帮助:$this->output->set_output($data); - Matthew
公共函数__construct() { parent::__construct(); ob_flush(); ob_start('ob_gzhandler'); } - Robert Mihai Ionas

0

我在网站上遇到了同样的问题,但现在我通过以下步骤解决了它:

  1. 进入CI的config.php文件:
  2. 找到这段代码:$config['compress_output']
  3. 将值从FALSE更改为TRUE

$config['compress_output'] = TRUE;

现在您需要从服务器的php.ini启用"zlib.output_compression"。您的前端将不会收到错误信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接