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

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

WBOY
WBOYOriginal
2016-06-06 19:48:581877Durchsuche

这是本人根据自己学习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页面


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php,你可能不知道的“死亡”陷阱Nächster Artikel:MVC in php