在设置 PHP带宽节省和有效速度增益时,我有一些关于htaccess设置性质的详细专家问题:
请允许我提前感谢您对此事的回答和澄清,因为我不理解百科全书样式的长页apache手册
以下示例是我在Apache 2.0和PHP 5.2.3上实际运行的内容
# preserve bandwidth for PHP enabled servers
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>
Q1: ifmodule mod_php4.c
是否建议将其用于PHP 4而不是PHP5?
Q2:服务器引擎在php.ini
而不是htaccess中使用它会更快吗?
问题3:压缩默认设置为16386
。如果我们将其降低到4K
问题4:如果我们将其设置得更高会发生什么,例如128K
?
答案 0 :(得分:6)
Q1:ifmodule mod_php4.c是否建议将其用于PHP 4而不是PHP5?
是。 生成即可。 PHP4没有理由继续安装,除非您的脚本在PHP5下会中断。
Q2:服务器引擎在php.ini中使用它而不是htaccess会更快吗?
除了Apache启动期间的一些操作码之外,一个iota并不重要。意思是,没有...除非.htaccess文件尚未存在,在这种情况下,当Apache找到文件时可能会有轻微的性能损失。 (更少的.htaccess文件=&gt;减少不必要的stat
次呼叫=&gt; 一切的更快性能。)
问题3:压缩默认设置为16386.如果我们将其降低到4K,那么会发生什么?
This is the size of the buffer for the output。如果将其降至4k,数据将稍早发送。根据页面的平均大小,这可能意味着数据可能需要以多个块的形式发送,这对于获取数据的用户而言可能是非常小的性能下降。
问题4:如果我们将其设置得更高,会发生什么情况,例如: 128K?
这意味着在将数据发送到客户端之前会发生128k的缓冲。如果你的网页在gzipping后超过128k,那么可能是错误的。
设置PHP带宽节省和有效的速度增益:
前段时间,人们开始使用PHP的内置gzip推荐 not ,建议使用Apache's mod_deflate。这让PHP只关心生成HTML,让Apache担心压缩和服务它。它也有同样的效果。虽然mod_deflate的手册页是百科全书式的,但它也简单明了。您可能已经拥有它,只需在httpd.conf中使用所需的行。
因为它可以在“过滤器”级别运行,所以使用它也意味着生成压缩MIME类型的任何,包括CGI脚本和普通的旧HTML文件都可以自动进行gzip压缩。
更新评论的答案:
我是否读过&amp;正确地在行之间建议我删除块A并且只在place as seen here
中有块B.
这通常是正确的,尽管您在那里的配置块目前通过扩展名定位文件。相反,您可以使用AddOutputFilterByType
配置指令按MIME类型进行定位,如mod_deflate手册中所述。
删除PHP配置时,还要检查系统上的php.ini,因为它可能还包含您可能不需要的压缩指令。
无论你使用什么方法打开mod_deflate,Apache都会非常聪明,不会出现双gzip内容。更改块A以使其与PHP5最兼容的正确方法是什么?
这取决于系统上调用mod_php的5.x版本。它将是普通的旧常规mod_php或mod_php5。在httpd.conf(或/etc/httpd/conf.d / * .conf)中的其他位置查找LoadModule
指令。
实际配置指令是正确的,它只包含在“仅在加载PHP4时执行此操作”块中。
假设您的5.x mod_php名为mod_not_butter
。如果是这种情况,该块将如下所示:
<IfModule mod_not_butter.c>
php_value suckitude_factor -1
</IfModule>
我想知道我可能有哪些其他选项来定制/加速我的mod_deflate APACHE gzip处理
有很多选择。除了缓冲区大小(DeflateBufferSize
)之外,请不要触摸任何,您应将其设置为您期望的平均未压缩数据大小。 (我之前错误地认为缓冲区是在压缩之后,而实际上是在之前。)
所有其他选项都是您不需要触及的理智默认值,因为当更改它们实际上会以有意义的方式影响性能时,您将需要使用其他技术来加载Apache