处理gzip与PHP和Apache有什么区别?

时间:2012-07-24 11:53:54

标签: php apache gzip

我们如何处理两者中的压缩?这是谁的责任?哪一个更好,使用apache或php压缩文件?
PHP压缩代码:

ob_start("ob_gzhandler");

或者apache one:

AddOutputFilterByType DEFLATE text/html text/plain text/xml 

这是正确的请求首先在apache中到达PHP吗?如果答案是肯定的,那么我们可以推断出我们应该使用apache吗?

5 个答案:

答案 0 :(得分:4)

这就是我所知道的,以优点和缺点的方式呈现。 阿帕奇:

  • .htaccess代码将始终执行得更快,因为服务器 默认情况下缓存.htaccess文件。
  • 使用.htaccess,您可以为各个文件夹定义自定义规则 并且服务器将自动接收它们
  • 使用PHP,您无法一次性写入所有内容。有 除了压缩之外,你的.htaccess应该拥有的许多其他东西:

  • 字符集,到期/缓存控制,很可能是一些URL重写 规则,权限,机器人(Googlebot等)特定的东西。

据我所知,你不能仅仅用PHP完成所有这些,因为你可能需要完成所有这些,我不明白你为什么要把它们结合起来。 我一直依赖.htaccess或服务器级配置来控制上面列举的方面,并且很少遇到问题。

PHP:

  • 也许更麻烦一点。使用共享主机平面上的.htaccess文件,你相当有限,你可能会遇到乏味的问题 问题。
  • 有些服务器不会接收某些命令,有些(如1和1)有一个 默认配置与您的设置(和神经)混淆。
  • 可能更容易用于不太懂技术的人

总体而言,Apache是​​赢家。这就是我一直都会去的地方!

答案 1 :(得分:3)

我不明白为什么这两个中的任何一个应该更快但请记住apache也可以对css文件/ js文件进行压缩...你不想用php解析这些文件来压缩在将它们发送到浏览器之前它们。

所以我建议使用apache方法。

答案 2 :(得分:3)

在我的公司,我们通常在静态资源上使用gzip压缩。 Apache要求PHP处理这些资源(如果需要),然后压缩输出结果。我会说它在理论上更快(C& C ++比PHP快)并且使用Apache压缩更安全。

注意:此处更安全意味着整个页面将被压缩,而您可能忘记使用ob_start功能压缩部分网页。

答案 3 :(得分:2)

您必须运行自己的测试以查看哪个更快,但我不认为内容的提供方式应该有任何差异。使用PHP,您必须自己处理输出缓冲,这可能更困难。使用apache方法更加透明。

答案 4 :(得分:2)

Apache更好,因为它可以防止php的内存限制错误,并且由于PHP中的编译代码与解释代码的作用更快,并且在与php不同的层中进行压缩更有意义