PHP缓存机制

来源:互联网 发布:mac怎么给文件夹重命名 编辑:程序博客网 时间:2024/05/22 12:11

使用php自身的缓存机制

如果要测试php自己的缓存机制, 需要配置php.ini 文件

display_errors=Onoutput_buffering=Offerror_reporting= 设置错误级别

两种缓冲区:outputbuffer和程序缓存
ob缓存关闭以后就放到程序缓存,程序缓存必须放到header后面,否则报错


函数:

ob_start(); //开启缓存ob_clean(); //清空 outputbuffer的内容ob_end_clean(); //关闭ob缓存,同时清空ob_flush(); //输出ob内容,并清空,但不关闭ob_end_flush(); //把ob缓存的内容输出,并关闭obob_get_contents();  //获取output_buffering的内容

测试题:

<?php ob_start();echo "abc";header("content-type:text/html;charset=utf-8");echo "hello";       ob_clean();echo "aa";header("content-type:text/html;charset=utf-8");?>

输出:aa
不报错
没有关闭,aa放入ob


<?php ob_start(); echo "abc";header("content-type:text/html;charset=utf-8");echo "hello";       ob_end_clean();echo "aa";header("content-type:text/html;charset=utf-8");?>

输出:aa
报错
aa放入的是程序缓存


<?php ob_start(); echo "abc";header("content-type:text/html;charset=utf-8");echo "hello";       ob_flush();echo "aa";echo ob_get_contents();?>

输出:abchelloaaaa
等待后面的一起输出


<?php ob_start(); echo "abc";header("content-type:text/html;charset=utf-8");echo "hello";       ob_end_flush();echo "aa";echo ob_get_contents();?>

输出:abchelloaaabchelloaa
最后再关闭

0 0
原创粉丝点击