- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
页面静态化
PHP页面静态化
PHP页面静态化原因有一下三方面:
一、访问PHP速度比HTML速度慢
通常开发中我们会使用
1、缓存技术(页面缓存和内存缓存)和
2、页面静态化(真静态化-把PHP页面转换为HTML,访问时不操作数据库和伪静态-把网址静态化,还要访问数据库)
Apache的apache/bin/ab.exe可以做压力测试,该工具可以模拟多人并发访问某个页面,基本用法: ab.exe –n 请求多少次 –c 多少人数 访问的网址
提供的benchmarking toll可以测试页面访问时间
二、静态化利于SEO
百度SEO建议:
URL
URL长度不要超过255byte
静态页面参数:在静态页面上使用动态参数,会造成spider多次和重复抓去
页面内容
Meta信息完善:缺少keywords和description的meta标签
图片alt信息
Frame信息:存在frame/frameset/iframe标签,会导致百度抓去困难,百度建议不要使用
三、:防止sql注入
使用PHP缓存机制完成页面静态化
可以使用php自带的缓存机制完成页面静态化,但是仅靠PHP自带的缓存机制并不能完美完成页面静态化,还需要和其他静态化技术比如伪静态结合使用
PHP缓存机制:output_buffering,常用的函数包括:ob_start() ob_get_contents() ob_clean ob_end_clean() ob_end_flush() ob_flush() flush()
问题:ob_flush()和flush()区别?简述PHP缓存机制
真静态方案:
方案1:使用PHP自身的缓存机制
要使用测试PHP自己的缓存机制,要配置:php.ini文件中
display_error=on //显示错误
output_buffering=off //关闭缓存
error_reporting=设置错误级别 //设置错误级别
开启缓存,可以通过PHP.ini开启,也可以在页面ob_start()开启,
开启缓存后ob_get_contents(‘保存路径’,’要保存的字符串’)函数用于获取output_buffering缓存中的内容
ob_clean()函数用于清空output_buffer内容,即清空缓存区的内容,清空后空间还在,只剩下头信息
ob_end_clean()函数是关闭ob缓存同时清空,就是把缓存区给清空关闭掉,清空后只剩下程序缓存,不管设置不设置都有不能关掉
ob_end_flush()函数把ob缓存的内容输出并关闭ob
ob_flush(); //输出ob内容到程序缓存,并清空缓存区,但是不关闭,等后面输出完后一块输出
PHP缓存有php模块处理的
?php
header(“content-type:text/html;charset=utf-8”);
echo ‘hello’;
?
sleep(1)休眠一秒
flush()刷新输出程序缓存内容
页面静态化思路:
第一个用户访问某条新闻后,我们使用ob缓存机制,把内容缓存到一个HTML静态页面中,当下一次访问时,直接访问html页面即可。
SqlHelper.class.php 连接数据库类
为什么要静态化:
静态化的方式(使用ob缓存来实现静态化 问题:1、实时性不好,有延迟2、请求某个查询页面时是使用.php?动态网址方式)
真静态可以在添加修改的时候实时处理静态页面 问题:如果数据是海量的会造成真静态.html页面过多,占用磁盘空间过多
PHP正则技术实现页面伪静态
URL重写方法有:1、APACHE(rewrite)2、 IISREWRITE3、PHP脚本直接处理
preg_match 函数只匹配第一个目标,$arr[0]就存放匹配得到的结果
$arr[1]会匹配模式中第一个子表达式的结果 $arr[n]会匹配第N个
preg_match(/(\d\d)(\d\d)/si,$str,$arr);
preg_match_all匹配目标中所有,$arr[0]存放匹配到的所有结果
$arr[0][1]存放第一个匹配的结果 $arr[0][n]存放第n个匹配的结果
$arr[1][0]存放第一个匹配得到的结果中第一个子表达式结果
$arr[1][n]存放第一个匹配得到的结果中第n+1子表达式结果
PHP反正则表达式模式用单引号’包含不容易出错
/index.php/23,54,112.html如何动态去除23、54、112三个数值
在php文件中直接使用正则表达式处理
echo pre;
print_r($_S
您可能关注的文档
最近下载
- 河南省建设工程安全生产标准化图集.docx VIP
- 别克英朗GT说明书.docx VIP
- 洪水计算(推理公式法).xls VIP
- 初中音乐 西南师大课标版 七年级上册 走进歌乐山 《走进歌乐山》 课件.ppt VIP
- (高清版)DBJ∕T 13-278-2025 《福建省电动汽车充电基础设施建设技术标准》.pdf VIP
- 带式输送机头尾部基础荷载计算书.xls VIP
- 建筑《工程质量》首件验收制度.docx VIP
- (高清版)DB21∕T 4071-2024 沥青路面再生集料应用技术规程.pdf VIP
- 中国冰沙机行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- Word操作培训ppt课件.pptx VIP
文档评论(0)