【问题标题】:What's the difference between handling gzip with PHP and Apache?用 PHP 和 Apache 处理 gzip 有什么区别?
【发布时间】:2012-07-24 11:53:54
【问题描述】:

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

ob_start("ob_gzhandler");

或者 apache 一个:

AddOutputFilterByType DEFLATE text/html text/plain text/xml 

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

【问题讨论】:

    标签: php apache gzip


    【解决方案1】:

    这就是我所知道的,以利弊的方式呈现。 阿帕奇:

    • .htaccess 代码总是执行得更快,因为服务器 默认缓存 .htaccess 文件。
    • 使用 .htaccess,您可以为各个文件夹定义自定义规则 服务器会自动接他们
    • 使用 PHP,您无法在一个地方编写所有内容。有 除了压缩之外,您的 .htaccess 还应具备许多其他功能:

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

    据我所知,您不能仅使用 PHP 来完成所有这些工作,而且由于您可能需要完成所有这些工作,所以我不明白您为什么应该将两者结合起来。 我一直依靠 .htaccess 或服务器级别的配置来控制上述列举的方面,并且很少遇到问题。

    PHP:

    • 也许更轻松一些。使用共享主机平面上的 .htaccess 文件,您会受到很大限制,您可能会遇到乏味的情况 问题。
    • 有些服务器不会接收某些命令,有些(如 1and1)有 与您的设置(和神经)混淆的默认配置。
    • 对于不太懂技术的人来说可能更容易使用

    总的来说,Apache 是赢家。这就是我一直都会去的!

    【讨论】:

    • 所有答案都很棒,但这个答案已经给出了更多细节。谢谢@Alex_Fl。
    【解决方案2】:

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

    所以我建议使用 apache 方法。

    【讨论】:

      【解决方案3】:

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

      注意:这里更安全意味着将压缩整个页面,而您可以忘记使用 ob_start 函数压缩网页的一部分。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 但是使用 PHP 方法更灵活,因为您可以有条件地执行此操作,如果您将来想要。尽管如此,我还是会使用 Apache。
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2023-04-04
          • 2016-09-20
          • 1970-01-01
          • 1970-01-01
          • 2012-05-04
          • 2015-08-28
          • 2016-06-23
          • 2016-06-05
          • 2016-03-27
          相关资源
          最近更新 更多