2

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

ob_start("ob_gzhandler");

或者阿帕奇之一:

AddOutputFilterByType DEFLATE text/html text/plain text/xml 

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

4

5 回答 5

4

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

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

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

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

PHP:

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

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

于 2012-07-24T12:02:14.467 回答
3

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

所以我建议使用apache方法。

于 2012-07-24T12:02:19.140 回答
3

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

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

于 2012-07-24T12:05:01.557 回答
2

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

于 2012-07-24T11:57:30.830 回答
2

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

于 2012-07-24T12:02:08.680 回答