output_buffering 学习笔记(一)

499 查看

output_buffering(ob,输出缓存), 在请求一个PHP的过程中,实际上经过三个缓存:1. 程序缓存2 ob缓存 3. 浏览器缓存.

phpob_start();
header("content-type:text/html;charset=utf-8");
echo 'hi1';
echo 'hi2';
echo 'hi3';
echo 'hi4';

OB缓存的几个重要规则

  1. 在服务中,如果我们开启了ob缓存,则echo数据首先放入到OB中
  2. 如何开启OB , 有两个方法
    2.1. 在php.ini 配置 ;output_buffering = 4096 这里去掉;号即可
    2.2 在php页面中使用 ob_start();
    2.3 通过php.ini 打开的,则作用于所有的php页面 , 使用ob_start()打开则只作用于该页面

    3.当PHP页面执行到最后,则会把ob缓存的数据(如果有的话), 强制刷新到程序缓存,然后通过apache对数据封装成http响应包,返 回给浏览器
    4.如果没有ob,所有的数据直接放入程序缓存
    5.header信息不管你是否开启ob,总是放入到程序缓存