【问题标题】:Is there ever a situation where server-side includes are a better choice than PHP?是否存在服务器端包含比 PHP 更好的选择的情况?
【发布时间】:2011-10-12 16:36:07
【问题描述】:

我询问的是包含页眉、页脚等文件的其他静态网页。显然,使用 SSI 构建动态站点会更好地使用 PHP。

有什么理由这样做

<!--#include virtual="../quote.txt" -->

而不是

<?php include("../quote.txt"); ?>

(或其他语言的等价物)?

我之所以问这个问题,是因为我接到了更新当前使用 SSI 的网站的任务,以便在不同页面上包含相同的标题。

【问题讨论】:

    标签: php ssi


    【解决方案1】:

    如果您没有在页面中使用任何其他 PHP,则使用 SSI 意味着您的 Apache 进程不需要加载 PHP 解释器来生成和提供 HTML。

    【讨论】:

      【解决方案2】:

      include 不是 #include virtual 的 PHP 等价物,即:virtualDocs

      因此,您不仅可以用 PHP 模仿 SSI 指令的作用。

      如果您配置了 CGI 处理程序,您甚至可以通过 SSI 运行 PHP。如果启用了mod_php,您就可以运行 SSI。

      因此,这可能有助于了解您是否重新设计当前网站并可能考虑放弃 SSI。

      更多详情请见Apache Module mod_include

      【讨论】:

        【解决方案3】:

        在某些情况下,SSI 确实很有帮助,例如当应用程序缓存呈现的页面并且您需要清除缓存但不想清除所有页面导致简单的菜单更改时。然后,您可以只用 ssi 包含替换菜单或多个菜单,并在更改时清除菜单文件,并保持缓存页面不变。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-11
          • 2010-09-22
          • 2019-01-01
          • 2011-06-30
          • 2015-04-08
          • 2012-06-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多