Xeo*_*oss 25 php compression apache gzip
大多数网站都希望压缩其内容以节省带宽.但是,对于运行PHP的apache服务器,有两种方法可以实现 - 使用PHP或使用apache.那么哪一个在您的服务器上更快或更容易?
例如,在PHP中,我在页面的开头运行以下函数来启用它:
/**
* Gzip compress page output
* Original function came from wordpress.org
*/
function gzip_compression() {
//If no encoding was given - then it must not be able to accept gzip pages
if( empty($_SERVER['HTTP_ACCEPT_ENCODING']) ) { return false; }
//If zlib is not ALREADY compressing the page - and ob_gzhandler is set
if (( ini_get('zlib.output_compression') == 'On'
OR ini_get('zlib.output_compression_level') > 0 )
OR ini_get('output_handler') == 'ob_gzhandler' ) {
return false;
}
//Else if zlib is loaded start the compression.
if ( extension_loaded( 'zlib' ) AND (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) ) {
ob_start('ob_gzhandler');
}
}
Run Code Online (Sandbox Code Playgroud)
在另一种选择是使用Apache 放气或gzip的(这两者都是非常接近).要启用它们,您可以在.htaccess文件中添加类似的内容.
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
Run Code Online (Sandbox Code Playgroud)
由于PHP是一种脚本语言(必须由PHP加载),我认为apache方法将更加稳定,2)更快.但假设在现实世界中没有多大用处.
毕竟,你会认为,凭借庞大的财政支持窗口...... 呃,我们不会去那里.
pre*_*mer 14
我们正在运行......许多网络服务器,处理60M /唯一身份/天.通常这不值得一提,但你的问题似乎是基于经验.
我们在apache中运行它.无论您选择哪种方法,另一端的结果都是相同的(或者足够接近以至于不重要).
我们选择apache的原因有几个:
一句警告,一些浏览器或其他应用程序故意破坏客户端标头,表明支持压缩.有些人这样做是为了减轻他们在客户端安全性方面的工作(想想像诺顿网络安全等应用程序).您可以忽略这一点,或者尝试添加额外的情况来重写请求以使其看起来正常(浏览器确实支持它,应用程序或代理只是为了让自己的生活变得更轻松).
或者,如果您正在使用flush()命令将输出发送到浏览器,并且您正在应用压缩,则可能需要使用空格填充字符串的末尾以说服服务器提前发送数据.
归档时间: |
|
查看次数: |
11057 次 |
最近记录: |