美文网首页
php 实现页面静态化

php 实现页面静态化

作者: 鸿雁长飞光不度 | 来源:发表于2018-03-04 14:07 被阅读0次
    • 静态页面
      是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。并且静态页面不能自主管理发布更新的页面。
    • 动态页面
      是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。 动态页面通常可以通过网站后台管理系统对网站的内容进行更新管理。

    优化界面响应时间

    动态页面静态化
    优化数据库
    使用负载均衡
    使用缓存

    将动态地址转化为静态地址,通过服务器nginx、Apache进行转化。这个过程称为伪静态

    例子.png 分类.png

    纯静态:php生成的html文件。
    局部纯静态:局部动态--ajax。
    全部纯静态:没有局部请求。
    伪静态:将动态页面的url地址转化为类似于静态页面url地址(需要服务器支持,如:apache,nginx)

    buffer.png

    缓冲区开启,所有输出的内容先存到内部缓冲区;
    缓冲区流程:内容-buffer-tcp-客户端
    1)php.ini文件中output_buffering=off,在程序前写入obstrat();内置函数即可
    2)php.ini文件中output_buffering=on,即开启时,直接使用ob_get_contents();获的缓冲区内容

    PHP实现页面静态化:

    函数
    1、ob_start:打开输出控制缓冲
    2、ob_get_contents:返回输出缓冲区内容
    3、ob_clean:清空(擦掉)输出缓冲区
    4、ob_get_clean:得带当前缓冲区的内容,并删除当前缓冲区。

    步骤:

    1、连接数据库、从数据库里面获取数据
    2、把获取的数据填充到模板文件里面
    3、需要把动态的页面转化为静态页面,即静态化文件


    image.png

    触发生成纯静态化的三种方式:
    1、页面添加缓存时间;
    2、手动触发
    3、通过定时任务实现(*)

    页面添加缓存时间

    1. 用户请求页面
    2. 判断页面缓存文件是否存在是否过期,主要看页面的最后修改时间,使用filemtime
    3. 如果没有过期则获取静态页面,如果过期了则重新生成一个静态页面
      if(is_file('./index.shtml') && (time() - filemtime('./index.shtml')) < 300) {
      require_once('./index.shtml');
      } else {
      ...
      }
    实际用.png

    在前端页面添加一个更新按钮,可以手动触发系统生成静态化页面

    局部静态化

    image.png

    伪静态

    apache

    image.png

    nginx

    image.png image.png image.png
    image.png

    相关文章

      网友评论

          本文标题:php 实现页面静态化

          本文链接:https://www.haomeiwen.com/subject/qkedixtx.html