作者:qinyu1982_469 | 来源:互联网 | 2020-09-15 07:02
php页面缓存主要用到的是ob系列函数,如【ob_start(),ob_end_flush(),ob_get_contents()】,今天我们来谈谈使用这些函数来实现php网站页面静态化。
利用PHP输出buffer直接写成html,定时后台定时扫一遍网站,是比较容易实现的网页静态化。
静态化之前:
";
}
?>
静态化:
";
}
$str = ob_get_contents();
ob_end_clean();
$fp = fopen("test.html","w");
fwrite($fp,$str);
fclose($fp);
echo "success write
";
?>
该段代码就会预先形成一个test.html,说白了其实就是用空间换取时间,像新闻类网站,发布的内容基本上写完是不会变了,比较适合静态化成html。
用户访问的时候就direct到这个html页面上就可以了。
简单的用apache benchmark测试一下效果:
ab.exe -n1000 -c10
说明:使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()。
相关学习推荐:PHP编程从入门到精通
以上就是基于ob系列函数实现PHP网站页面静态化的详细内容,更多请关注 第一PHP社区 其它相关文章!