什么是PHP静态化
PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。
为什么要让网页静态化
一、加快页面打开浏览速度,静态页面无需连接数据库打开速度较动态页面有明显提高;
二、有利于搜索引擎优化SEO,Baidu、Google都会优先收录静态页面,不仅被收录的快还收录的全;
三、减轻服务器负担,浏览网页无需调用系统数据库;
四、网站更安全,HTML页面不会受php相关漏洞的影响; 观看一下大一点的网站基本全是静态页面,而且可以减少攻击,防sql注入。
数据库出错时,不影响网站正常访问。
生成html文章虽操作上麻烦些,程序上繁杂些,但为了更利于搜索,为了速度更快些,更安全,这些牺牲还是值得的。
PHP生成静态HTML页面的方法
利用PHP模板生成静态页面
PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化,也可以自己写一套模板解析规则,常见的可以模仿各类cms的模板规则。
1.使用PHP文件读写功能与ob缓存机制生成静态页面
比如某个商品的动态详情页地址是: http://xxx.com?goods.php?gid=112
那么这里我们根据这个地址读取一次这个详情页的内容,然后保存为静态页,下次有人访问这个商品详情页动态地址时,我们可以
直接把已生成好的对应静态内容文件输出出来。
time()){//如果没过期 echo file_get_contents($goods_statis_file);//输出静态文件内容 exit; }else{//如果已过期 unlink($goods_statis_file);//删除过期的静态页文件 ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 ob_end_flush();//输出商品详情页信息 } }else{ ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 ob_end_flush();//输出商品详情页信息 } ?>
2.使用nosql从内存中读取内容(其实这个已经不算静态化了而是缓存);
以memcache为例:
connect('memcache_host', 11211); $mem_goods_content = $mem->get($goods_statis_content); if($mem_goods_content){ echo $mem_goods_content; }else{ ob_start(); //从数据库读取数据,并赋值给相关变量 //include ("xxx.html");//加载对应的商品详情页模板 $content = ob_get_contents();//把详情页内容赋值给$content变量 $mem->add($goods_statis_content,$content, false, $expr); ob_end_flush();//输出商品详情页信息 } ?>
memcached是键值一一对应,key默认最大不能超过128个字节,value默认大小是1M,因此1M大小满足大多数网页大小的存储。
以上就是页面静态化的相关方法,希望对朋友们有所帮助
本文向大家介绍PHP 实现页面静态化的几种方法,包括了PHP 实现页面静态化的几种方法的使用技巧和注意事项,需要的朋友参考一下 1、通过buffer来实现 需要用file_put_contents ob_get_clean()等内置函数 2、通过$_SERVER['PATH_INFO']来实现 3、通过Apache配置来实现 需要开启rewrite重写模块 通过rewrite来配置vhost 如果
本文向大家介绍分享几种常见WEB服务器配置方案,包括了分享几种常见WEB服务器配置方案的使用技巧和注意事项,需要的朋友参考一下 在众多专用服务器中,WEB服务器应该是我们最为熟知和常用到的了,根据不同的建站及WEB需求,WEB服务器有着好几种常见的环境配置方案,这里就总结分享一下: 当前比较流行的配置就是跑php一般就是,php运行的肯定是linux好点,但前提是你对linux服务器配置熟悉,如果
本文向大家介绍Android中ListView的几种常见的优化方法总结,包括了Android中ListView的几种常见的优化方法总结的使用技巧和注意事项,需要的朋友参考一下 Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法: 首先我们给出一个没有任何优化的Listview的Adapter类,我们这里都继承自B
本文向大家介绍分享几款linux下常见的vps控制面板,包括了分享几款linux下常见的vps控制面板的使用技巧和注意事项,需要的朋友参考一下 十款免费好用的中文VPS主机控制面板-让VPS建站像虚拟主机一样简单 一、宝塔 Linux/Windows 面板 官方网站:http://www.bt.cn/ 1、宝塔 Linux/Windows 面板是国人开发的一个VPS主机管理系统,有Linux版本,
本文向大家介绍c# 几种常见的加密方法的实现,包括了c# 几种常见的加密方法的实现的使用技巧和注意事项,需要的朋友参考一下 1.ACSII码加密 2.MD5加密 3.RSA加密 4.DES加密 以上就是c# 几种常见的加密方法的实现的详细内容,更多关于c# 加密的资料请关注呐喊教程其它相关文章!
本文向大家介绍ASP.NET页面缓存常见的4种方式,包括了ASP.NET页面缓存常见的4种方式的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了4种常见的ASP.NET页面缓存方式,供大家参考,具体内容如下 1、分布式缓存Memcached,教程下载 2、内存缓存,此占用服务器资源 3、XML缓存,这种最为常见 4、DATATABLE缓存 以上就是本文的全部内容,希望对大家的学习有所帮助,