将动态PHP文件替换为静态HTML文件可提高性能

时间:2018-08-29 14:43:49

标签: php html caching

我当时想到的是动态生成网站文件的静态版本以提高性能。

因此,当用户请求文件时,index.html文件(在我的服务器上.html文件由PHP解析)会执行以下操作:

  1. 使用file_get_contents()请求自身。这将获得用户看到的HTML。

  2. 将自身(index.html)重命名为index.html.orig并将刚检索到的HTML写入新的index.html文件。

因此将来对index.html的请求将获得(现在)静态index.html和动态index.html.orig放在那儿以备不时之需。

如果需要重新缓存,只需删除静态index.html文件,然后将index.html.orig文件重命名为index.html(很快就会有人再次请求并重新缓存它)。

说实话,我认为我的网站不够忙,不能保证这一点,但是我很无聊。

在编写静态文件时,我也可以在其顶部放置如下代码段:

<?php
    header('Cache-Control: public,private,max-age=604800'):
    header('Last-Modified: ...'):
    header('Expires: ...'):
?>

1 个答案:

答案 0 :(得分:0)

您可以做的是将文件设为index.php,并将Web服务器设置为在index.html之前先查找index.php。这样,在index.php中,您可以使用ob_start()ob_get_flush()之类的东西来输出文件的内容,但也可以将其获取为字符串,以便将其保存到index.html中。将来的请求将仅加载HTML版本。