zoukankan      html  css  js  c++  java
  • php的静态化

    原理,将动态的页面,存储为静态的HTML静态页,使浏览器直接请求该静态页。
    
    测试:一个PHP动态页面与一个静态页面所消耗的时间
    一般可以使用apache自带的ab(apache bench)程序来测试。
    
    > ab -c 并发数 -n 请求数 请问地址
    
    php的静态化 - 怀素真 - 因上努力 果上随缘
     
    php的静态化 - 怀素真 - 因上努力 果上随缘
    整体统计息:平均每个请求的时间消耗时
    
    php的静态化 - 怀素真 - 因上努力 果上随缘
    响应时间的分区统计:
    
    php的静态化 - 怀素真 - 因上努力 果上随缘
    实现技术
    需要的核心技术是ob,output_buffer输出缓冲。
    
    php的静态化 - 怀素真 - 因上努力 果上随缘
    开启输出缓冲
    ob_start();
    获取内容
    ob_get_contents();   获取内容,不清空缓冲
    ob_get_clean();      获取内容,并清空缓冲
    ob_get_flush();      获取内容,并刷新,让浏览器显示
    清空
    ob_clean();
    ob_get_clean();
    ob_end_clean();      清掉缓冲并关闭
    刷新
    ob_flush();          刷新缓冲
    ob_get_flush();      获取缓冲,并刷新
    ob_end_flush():      刷新并关闭缓冲
    关闭
    ob_end_flush();
    ob_end_clean();
    (*在脚本周期结束时,刷新操作会自动执行。)
    
    <?php
    ob_start();
    
    //php执行代码... ...
    
    $contents = ob_get_contents();
    //生成静态文件的名字和路径可自定义
    $staticFile = './html/' . $id . '.html';
    file_put_contents($staticFile, $contents);
    ob_end_clean();
    
    扩展问题
    1、静态页面中动态数据问题,需要使用ajax。
    2、管理大量静态文件时,需要分目录,分硬盘,分文件服务器。
    3、整站静态化,内容聚合页和内容详情页,详情页适合做静态化。
    4、静态化内容,一旦数据改动,需要重新生成静态页面。
    
  • 相关阅读:
    全景转换工具
    Leetcode 215.数组中的第k个最大元素
    Leetcode 214.最短回文串
    Leetcode 213.大家劫舍II
    Leetcode 212.单词搜索II
    Leetcode 211.添加与搜索单词
    Leetcode 209.长度最小的子数组
    Leetcode 208.实现前缀树
    Leetcode 207.课程表
    Leetcode 206.反转链表
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294654.html
Copyright © 2011-2022 走看看