LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: jerrium 於 二月 03, 2006, 09:05:14 下午



主題: lt的1.03版本是否有gzip功能?
作者: jerrium二月 03, 2006, 09:05:14 下午
我在后台看了一下,似乎没看到gzip开关。
如果要启用gzip功能,应该如何启用?


主題: Re: lt的1.03版本是否有gzip功能?
作者: markwu二月 04, 2006, 12:35:18 上午
沒有!

但是你可以在index.php 的最前面(第 2 行) 加上

// Hack to use zlib.compression
if ( !(@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler' || @version_compare(PHP_VERSION, '4.2.0') == -1) )
ob_start('ob_gzhandler');

應該就可以啟用php 本身的 gzip compression 功能。

但是建議你,如果機器是你自己的,應該用 apache 的 mod_zip 會比較好!

Mark


主題: Re: lt的1.03版本是否有gzip功能?
作者: jerrium二月 04, 2006, 12:08:54 下午
我在php.ini加入如下语句:

output_handler = ob_gzhandler

好像没看到什么变化一样。。。


主題: Re: lt的1.03版本是否有gzip功能?
作者: james二月 04, 2006, 12:20:27 下午
我在php.ini加入如下语句:

output_handler = ob_gzhandler

好像没看到什么变化一样。。。
Hi jerrium:
Mark說的修改你做了嗎?
如果做了的話,那你希望看到怎樣的變化嗎??

如果你用的是apache2的話,也可以使用mod_deflate來達到類似的功能.

在httpd.conf 加上

LoadModule deflate_module modules/mod_deflate.so

<ifmodule mod_deflate.c>
DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js
</ifmodule>

重新啟動apache,完工。

希望對你有所幫助:)
James.


主題: Re: lt的1.03版本是否有gzip功能?
作者: jerrium二月 04, 2006, 12:38:03 下午
hi,james,
mark说的方法是比较麻烦的一种实现方法,我查了一下资料,可以通过直接修改php.ini来实现的。
这种方法不需要修改每一个php页面。

根据一些资料的介绍,开启这个功能后,页面加载速度应该会快很多,但现在我感觉不出来哦。。。


主題: Re: lt的1.03版本是否有gzip功能?
作者: james二月 04, 2006, 02:39:12 下午
hi,james,
mark说的方法是比较麻烦的一种实现方法,我查了一下资料,可以通过直接修改php.ini来实现的。
这种方法不需要修改每一个php页面。

根据一些资料的介绍,开启这个功能后,页面加载速度应该会快很多,但现在我感觉不出来哦。。。

呵~~很高興你自己找到方法解決 ;-)

那你就在用心感覺一下,或許會有點不一樣囉.

James.


主題: Re: lt的1.03版本是否有gzip功能?
作者: markwu二月 04, 2006, 04:59:49 下午
hi,james,
mark说的方法是比较麻烦的一种实现方法,我查了一下资料,可以通过直接修改php.ini来实现的。
这种方法不需要修改每一个php页面。

根据一些资料的介绍,开启这个功能后,页面加载速度应该会快很多,但现在我感觉不出来哦。。。

 :-D 那不是比較麻煩的方法,是比較 generic 的方法。

因為很多人無法去修改 php.ini 的,所以只能透過 ini_set 來指定。這樣才不會造成用虛擬主機的人,不知為什麼不能改。

Mark


主題: Re: lt的1.03版本是否有gzip功能?
作者: jerrium二月 04, 2006, 05:14:13 下午
引用
  那不是比較麻煩的方法,是比較 generic 的方法。

因為很多人無法去修改 php.ini 的,所以只能透過 ini_set 來指定。這樣才不會造成用虛擬主機的人,不知為什麼不能改

如果不能修改php.ini,也是可以通过修改.htaccess文件就行了:

php_value output_handler ob_gzhandler
.htaccess文件一般都是允许使用的。

我觉得你的那种方法应该仅仅适用于这种情况:个别页面需要加速,大部分页面不需要加速,那么就在各别页面加上这个语句就行了。也就是有选择的加速。


主題: Re: lt的1.03版本是否有gzip功能?
作者: markwu二月 04, 2006, 09:33:38 下午
這要怎麼跟你解釋呢?  :-(

Okay我試著這樣說好了:

在設計 web application as a product (not a project),我們沒辦法確認使用者的環境,所以在允許的情形下,我們設定這些參數的順序為:
- 程式內直接設定
- 修改 .htaccess
- 修改 apache

但是問題來了,假設用戶不是使用 Apache,而是使用 IIS。.... 那麼你教他哪裡去設定 .htaccess 呢?.htaccess 是根本無法在 .htaccess 下用的。

另外,假設你的虛擬主機商把 AllowOverride 關掉了,那麼,你要怎麼修改.htaccess 呢?

所以我才說這是 generic 的方式。

但是如果你要建立自己的 blog hosting, 主機是你自己的,你愛怎麼改就可以怎麼改,所以你當然可以自己決定要改 php.ini, .htaccess 或是 apache ...

所以,你是屬於哪一個情況,而其他人又是什麼情況呢? :-)

Mark


主題: Re: lt的1.03版本是否有gzip功能?
作者: jerrium二月 04, 2006, 09:45:46 下午
markwu说的有道理。
我是在站在自己实际情况来考虑问题的,所以找到了适合自己的解决办法。
因为你不清楚我的实际情况,所以给出的是一般通用型的解决办法。


主題: Re: lt的1.03版本是否有gzip功能?
作者: james二月 05, 2006, 03:48:18 下午
markwu说的有道理。
我是在站在自己实际情况来考虑问题的,所以找到了适合自己的解决办法。
因为你不清楚我的实际情况,所以给出的是一般通用型的解决办法。

因此你知道為何要請使用者在發問時,清楚描述問題及使用者個人狀況的目地了嗎?
沒有這些詳細的資料,想回答問題的人可能必須花費更多的心力來進行猜測,並做出回應。
但是這樣的回應並不一定會是你所想要的 ;-)。

這樣不僅費時同時也沒法快速解決問題。
因此清楚的描述問題是必要且必須的 :-D

James.