output_buffering(ob,输出缓存), 在请求一个PHP的过程中,实际上经过三个缓存:1. 程序缓存2 ob缓存 3. 浏览器缓存.
php
ob_start(); header("content-type:text/html;charset=utf-8"); echo 'hi1'; echo 'hi2'; echo 'hi3'; echo 'hi4';
OB缓存的几个重要规则
- 在服务中,如果我们开启了ob缓存,则echo数据首先放入到OB中
-
如何开启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,总是放入到程序缓存