>  기사  >  php教程  >  PHP页面静态化学习笔记之三:使用PHP缓存机制完成静态化

PHP页面静态化学习笔记之三:使用PHP缓存机制完成静态化

WBOY
WBOY원래의
2016-06-06 19:48:581882검색

这是本人根据自己学习PHP技术页面静态化的过程所写的学习笔记,希望能够对大家有所帮助。 1、真静态化的方案 (1)使用PHP自身的缓存机制 a.配置PHP配置文件php.ini display_errors= On output_buffering= Off error_reporting= E_ALL | E_STRICT 2、常用函

这是本人根据自己学习PHP技术页面静态化的过程所写的学习笔记,希望能够对大家有所帮助。


1、真静态化的方案

(1)使用PHP自身的缓存机制

a.配置PHP配置文件php.ini

         display_errors= On

         output_buffering= Off

         error_reporting= E_ALL | E_STRICT

2、常用函数

(1)ob_get_contents()可以获取output_buffering的内容

(2)ob_clean()可以清空output_buffering的内容

(3)ob_end_clean()可以关闭output_buffering同时清空output_buffering的内容

(4)ob_end_flush()可以把ob缓存的内容输出并关闭ob

(5)ob_flush()可以把ob缓存的内容输出,但是不关闭ob

(6)flush()可以输出程序缓存的内容

(7)str_repeat("0",1024)可以重复输出1024个0

test2.php(以上函数的实际应用)

<?php //开启缓存【通过php.ini也可以开启缓存】
	ob_start();
    echo "yyy";
	header("content-type:text/html;charset=utf-8");
	echo "hello";
	//ob_clean()可以清空output_buffering的内容
	//ob_clean();
	//ob_end_clean()可以关闭output_buffering同时清空output_buffering的内容
	// ob_end_clean();
	//ob_end_flush()可以把ob缓存的内容输出并关闭ob
	// ob_end_flush();
	//ob_flush()可以把ob缓存的内容输出,但是不关闭ob
	// ob_flush();
	echo str_repeat("0", 1024);
	echo "yyy";
	// header("content-type:text/html;charset=utf-8");
	
	//ob_get_contents()可以获取output_buffering的内容
	// $content = ob_get_contents();
	// file_put_contents("d:/log.txt", $content);
?>

3、静态化页面适用于大型网站

(1)访问量巨大

(2)多次查询结果相同的网站(比如新闻网站)

(3)实时性要求不高的网站

4、页面静态化传统解决方案的基本思路

(1)第一次访问页面时,从数据库查询出所需数据,组成网页

(2)使用ob的缓存机制,把内容缓存到html页面

(3)以后访问此页面时,直接访问html页面


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.