ImageVerifierCode 换一换
格式:DOC , 页数:39 ,大小:4MB ,
资源ID:2618351      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2618351.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(php页面静态化学习笔记.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

php页面静态化学习笔记.doc

1、php页面静态化学习笔记 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 39 个人收集整理 勿做商业用途 题外话:大流量技术: 1.

2、服务器集群2。mysql优化(设计合理的数据库表3nf,分表垂直分割水平分割,读写分离技术多个mysql同时工作,mysql配置优化,硬件升级)3。缓存技术memched/redis。。大型网站提速提速:Mysql优化,页面静态化,memcached大型网站的定义: 1. pv值(page views):页面的访问量。当页面访问量很大的时候,带来了很多问题: ① 流量变大,解决方案 买带宽,优化程序,图片的大小不能多于多少K ② 并发量变大,同时访问网站的人多了,解决方案,要对程序的结构进行修整->服务器集群 传统架构: 优化结构: 整个的重点还是php程序,考验程序员的东

3、西. 2. 数据量很大:解决方法: ① 表的设计合理 ② 分表技术(垂直分割和水平分割)、建立适当的索引、读写分离、Mysql配置优化(调整最大并发量,定时对数据库碎片整理、碎片,实现方法:windows下用任务管理器,niux下用crontab),硬件升级 ③ 页面静态化 ④ 缓存技术(memcached) 页面静态化技术 原理图: 几个概念: 静态网址:如果我们访问的是静态页面,则把这个url称作静态网站,html网址 特点: 1。利于seo(search engine optimization)搜索引擎优化 2.访问速度快 3。防止sql注入漏洞 动态网址

4、在访问的时候可以传入参数,称为动态网址,php网址 特点: 1. 不利于seo 2. 访问速度慢 3.sql注入的可能 伪静态网址:希望达到这样的目的, 这样的话,我们把图片下端的称为伪静态网址。这样做的特点: 1. 利于seo 2. 防止了注入 但是它仍然要访问数据库,也就是说速度没有优化。页面静态化的分类:从方式来看:1.真静态,2。伪静态从范围来看:1.全局静态,2。局部静态。 测试压力的工具ab.exe 需要进入控制台 ab.exe –n 访问的总次数 –c 多少人访问url(并发量) 举例说明 ab。exe –n 10000 –c 100 htt

5、p://localhost/ phpstatic/ test.php 当我们调整访问人数为1000的时候: 很悲剧的事情发生了,说明我们的apache服务器支撑不住了。解决方案,我们需要调整apache的最大并发量. MPM(多路处理模块,就是指明apache怎样处理并发):apache处理并发的方式。有三种方式 1. perfork 预处理进程方式:预先准备一些进程,等待请求的到来,这样的方式消耗很大。 2. worker 工作模式:预先开启进程,当有请求的时候,进程会开启线程,线程为请求服务。一个进程可以开启多个线程 3. winnt模式 windows下采用的:就是w

6、orker模式 简单的说是这样的: 如何设置apache最大并发数: 1.位置httpd。conf文件中,大约470多行. # Server-pool management (MPM specific) Include conf/extra/httpd-mpm.conf 2。确定apache的工作模式: cmd下进入apache的bin目录,输入httpd.exe –l(小写的L) ; 我们主要看mpm_yyyyy ,如果这个yyyy是什么,就说明是什么工作模式了。 3。去修改httpd-mpm.conf 调整150为1000 刚才的测试可以运行了

7、 4.重启apache 在linux下如何配置呢, 建议配置: 如果网站的pv值上到了百万:可以调节如下 每个都增加1000即可。 对比图: 搜索引擎的偏好: 如果一张图片希望被百度搜到, 〈img alt="小狗” src="”。.。... /〉 在网站的前台,我们建议不要使用frame这个框架 给一个图片或者视图取名字,标题越短越精准会越好. 页面静态化技术实现方式: 1.使用php自带的ob缓存 2.模板替换技术(正则表达式) 使用PHP自带的缓存机制实现页面静态化: ob缓存机制: 〈?php echo ”h

8、ello100”; header("content—type:text/html;charset=rtf-8"); echo "hello200”; ?> 在php5.2这个版本,在php.ini有一个配置,output_bufferring,如下: 如果关闭,就会出现如下警告 ob缓存的原理: 打开ob缓存就可以解决 ① 配置php。ini,output_buffering=4096(字节) ② 在程序中开启ob_start();开启ob缓存 注意: 如果ob缓存打开,那么echo就放在ob缓存里面,如果是header就放到程序缓存里面去

9、当页面读取完成,那么ob缓存的内容就会被刷新到程序缓存,一并发送给浏览器。 ob的几个重要函数: ob_clean():清理ob缓存 ob_get_contents():读取ob缓存的数据 ob_end_clean():该函数是清空ob中的数据,并关闭ob缓存 ob_end_flush();//把ob缓存的数据刷新到程序缓存,同时关闭ob缓存 ob_flush();//把ob缓存的数据刷新到程序缓存 flush();//把程序缓存的数据,强制刷新到浏览器 如下面演示: 但是运行结果没有我们想象的那样1秒显示一个数字,我们查看flush()函数发现了问题:

10、 如果一定要有效果我们可以: 使用ob缓存机制完成一个简单的新闻管理系统: 我们实现全站静态化。 先按传统方式写完了代码,发现本机访问速度都相当的慢。 我们开始做优化:当第一人访问我们的页面时,我们就查询一次数据库,并生成一个静态页面.其他人来查询的时候,我们直接就将生成的静态页面的直接返回. 1. 生成静态页面 2. 加上逻辑,即可实现一定的优化: 第一个页面: 〈?php //列出新闻 // header(”content—type:text/html;charset=utf-8"); $conn=mysql_connect(”localhost

11、"root","root"); if(!$conn){ die ("连接失败"。mysql_error()); } mysql_select_db(”newssystem",$conn); mysql_query(”set names utf8"); $sql="select * from news”; $res=mysql_query($sql); echo ”"; echo ”〈a href='addNews.html’〉添加新闻〈/a〉


"; echo "〈table〉”; echo "〈tr〉〈td>i

12、d标题〈/td〉〈td>〈a href=’#’>查看详情”; while($row=mysql_fetch_array($res)){ echo ’〈tr>〈td〉’.$row[0].''.$row[1].’〈td〉产看详情〈/a〉〈/td〉〈td>〈a href="">修改新闻〈/a>’; } mysql_free_result($res); mysql_close($conn

13、); ?> 第二个页面: 〈?php //传统做法 接受id,查询数据库 $id=intval($_GET['id']); //先判断该新闻对应的新闻的静态页面是否存在 $html_file="news—id"。$id。”。html”; if(file_exists($html_file)){ echo "静态页面”; echo file_get_contents($html_file); exit;//这个exit特别重要,如果没有,静态化得效果就没了 } $conn=mysql_connect("localhost”,"root","

14、root"); if(!$conn){ die ("连接失败”。mysql_error()); } mysql_select_db("newssystem",$conn); mysql_query("set names utf8"); $sql=”select * from news where id=$id”; $res=mysql_query($sql,$conn); if($row=mysql_fetch_assoc($res)){ ob_start();//启动ob缓存 header(”content-type:text/html;char

15、set=utf—8"); echo ""; //解决乱码 echo ”〈table border=’1px’ bordercolor=’green' cellspacing='0' width=’400px’ height=’200px’>”; echo "〈tr〉〈td>新闻详细内容〈/td〉”; echo "〈td>{$row[’title']}"; echo

16、 "〈tr〉 以上代码的缺点: 静态页面的内容一旦生成,那么它永远也不会变了。当数据库的数据更新的时候,我们的网页访问内容也没变. 解决方案:1.定时更新。我们让30秒同步一下数据库和我们的静态页面. 代码修改如下:

17、时间函数:filemtime($html_file),获取上次文件被修改的unix时间.time()函数,获取当前时间函数. 上面的解决方案仍然会有时间延迟,随意我们采用第二套方案,这样做就没有时间延迟了 页面静态化的第二套技术:模板替换技术(正则表达式): 在添加新闻的时候就去生成静态页面: 原理图: 添加新闻的静态页面addNews.html .。。.。。。. 代码如下: newList。php:稍多修改,让其直接跳转到我们在添加过程中生成的静态页面 newAction。php: news.tpl:模板文件 这里我们跳过了showNews这个页面,因为

18、在以上的机制中,我们就不用那个页面了,这个页面在最后的我们可以用作主页面静态化 通用的cms系统示意图。 现在我们来考虑全站静态化: 我们可以在添加新闻后就能使首页发生直接静态化呢 我们将管理的文件都保存到manage下面,用户只能看到前台主页和生成的静态的新闻详情页面. 需求,我们如果的确需要只要首页面的内容有变化就立马更新。 我们只需要加一句话: 在newsAction.php下面加一句话: 自己理解的图解: 以上就是我们所说的真静态,我们来分析一下真静态的优缺点: 有点:1访问速度块(不需php这个模块解析,不需查找数据库)。2利于seo。

19、3防止sql注入 缺点:因为它要真正的生成大量的html文件,要占用一定的磁盘空间,如果我们将所有的html文件都放在一个文件夹下,比如我们把1亿个html放在一个文件夹下,那么这个速度会很慢的。我们的做法是:按照年月日创建文件夹,按照文件夹管理一定的数量的,这样检索速度会快一些的。 safe_mode:apache的安全模式。就会不允许创建文件夹,徐和管理员沟通。 在一下情况不允许使用真静态: 1. 实时性要求很高的网站和页面(股票,基金) 2. 数据量大,同时查询一次后,以后就很少查询(国家学历认证网,电信话费查询系统),就是生成的静态页面以后不被访问,那么我们生成这个html文

20、件也就没有意义了 3. 不愿意被seo到这个网页. 伪静态技术: 实际开发中有需求:不希望使用真静态,但是又希望seo,可以考虑使用伪静态。 成为: 实现方式有两种:1。直接使用正则表达式;2.使用apache自带的rewrite机制来完成。 正则表达式: 例子: 方案一:str分割 方案二:正则 详细讲解正则表达式: 演示: 运行结果: 正则表达式重要概念: 1。 值表达式:()括起来的 2. 捕获:抓取值表达式到内存中,暂存起来 3. 反向引用:\1,\n {x} 去引用捕获到得值表达式 //$reg:规则 $str:目标字符串

21、 $res:结果集 preg_match($reg,$str,$res); preg_match_all($reg,$str,$res);参数意思同上。 案例说明: 说明 。就不要带中括号了 转义字符: 正则表达式的用处: 1. 正则规范是根本性的东西,在任何一个语言中都是有使用的。如php,asp,js,jsp,。net,c++,c,java等等都在使用 2. 在涉及到用户输入的地方或者程序中,应当加入正则验证. 在网站建设中我们应该两头都验证:客户端使用js,服务器端使用php。 特殊的说明: 在正则规范中,我们可能会看到 (?: pa

22、ttern)(?!pattern)(?<!pattern)(?=pattern)(?〈=pattern) (?: pattern):非捕获匹配(一般的匹配都是捕获匹配) (?!pattern):顺序否定环视,位置右侧不能再匹配pattern (?=pattern):顺序肯定环视,位置右侧可以匹配pattern (?

23、开发中,我们实现伪静态更多的是:rewrite机制,是 正则技术为基础的。 需求: ①http:// 变成:②http:// rewrite机制的原理图:略 我们在用访问②的方式,可以访问到①. httpd。conf文件可以开启rewrite模块 具体的做法: (1).启用rewrite模块,修改httpd.conf文件 (2)配置虚拟主机 httpd.conf打开虚拟主机的配置文件 修改httpd—vhosts。conf文件 (3) 配置hosts文件 我们可以用www。zh。com来访问了 一个重点:在apache服务器中,如

24、果某个文件夹没有指定访问的权限,则它的访问权限由上级目录的权限决定。如果指定了则按自己的访问权限来. 问题:如果只允许我自己访问:可以在httpd.conf中修改,也可以在httpd—vhosts。conf中修改, 在配置访问权限的时候顺序很重要. 在实际中如果要放行某一段 可以写出allow from 196.0。81即可 (4)。节点: 第一种配置方式: 比较完整的配置: 可能遇到的问题: 如果apache启动不起来,一定要留意rewrite模块是否启动。 关于文件夹下的文件夹的规范:可以配置多个节点: 有时候你不能动httpd—vh

25、ost文件,但是还要实现功能. 我们可以把配置写到htaccess文件中。 第二种配置方式:在网站目录下的.htaccess(另存为可创建) 网站主目录文件夹下的子文件夹也可以创建并配置这个.htaccess文件。说明这个文件的配置也是继承关系 第三种配置方法: httpd-vhosts.conf里面就留下一句话,其他的都交给.htaccess去控制. 在我们的。htaccess文件中: 至此我们三种配置方式就OK了。 伪静态的实际应用: 1. 图片防盗链:我们有一个情景:在一个项目中有两个图片文件夹public和private,public可以被所有人访

26、问,private只能自己访问。 方案一:在public和private下面创建.htaccess,对于public文件夹allow from all,zai private文件夹 order deny,allow deny from all allow from 127。0.0。1 这样就ok了。 分析这个方案:如果一个apache下有多个虚拟主机,那么就有问题了,你只设置了一个虚拟主机的权限,而另一个虚拟主机的地址也是127.0.0.1,所以它也可以访问到private文件夹。缺点就是无法精确控制. 方案二:正则规范 在private下面加上: 〈ifmodule r

27、ewrite_module> rewriteEngine On #你怎么知道请求是www.zhanghui。com发过来的,相当于:if RewriteCond %{HTTP_REFERER}! #如果你请求的是一个jpg图片,就forbidden,F表示直接禁用,相当于执行语句 RewriteRule 。*\.jpg -[F] #这里可以封杀多个后缀,多种文件。js,css,gif都可以这样整。 ☆ RewriteCond %(HTTP_REFERER)!www。zhanghui。com RewriteCond %(REQUEST_FILENAME)!—f #以上两个条件

28、是并且的关系 RewriteRule 。.。。.。 这个是完整的图片防盗链技术。但是这个有一定的缺陷,如果我们模拟一个http头,将referer写成,那么这张图片也可以被取下来。 特别说明:在我们自己的目录下最好不要配置Options这个东西,因为在父目录中已经配置过了。如果你配置了,而和父目录的不一样,那就惨了,你所有的网页、重定向的东西都会出现403错误,很惨的. 我们来做让apache管理两个虚拟主机 www。zhanghui。com 写好了代码,我们现在去访问private文件夹下的index网页:结果如下: 我们发现目前这两个虚拟主机private和z

29、hanghui都可以访问到,但是有时候,我们希望只有自己(private)的主机访问到自己,我们可以这样做了,修改private下的。htaccess文件 简化url: ① ②www。zhanghui。com/index.php?c=haha&a=login 用户在访问①的时候就相当于访问了② index。php文件的内容: 我们可以这样来写规则: 运行效果如下: rewriteCond指令: RewriteRule aaa。html bbb。php 如果aaa。html存在,则访问aaa.html,如果不存在则访问bbb。php。 伪静态实际应用:

30、 在TP框架中简化url,目的是seo ① 在httpd。conf文件中打开rewrite模块 ② 在虚拟主机中增加allowoverride all ③ 在TP的配置文件conf/config文件中把URL_MODEL配置为2. ④ 在TP框架的入口处写入规则。。htaccess文件. 伪静态与真静态最后的对比: 伪静态的特点: 访问一次,引擎优化,占用空间小,很多的静态页面可以访问同一动态页面,广告的轮显,缺点速度慢。 真静态伪静态非静态之间的选择: 1. 网站实时性要求高,不要使用真静态化。 2. 如果网站访问量比较小,没必要使用静态化技术. 3. 如果网页的数据不是经常变化,而访问频率极大,建议使用真静态。公司营销等宣传性网站. 4. 数据海量,使用真静态会生成海量的html,建议使用伪静态或者分目录存储静态页面。网络磁盘,磁盘矩阵的使用。 5. 网站安全性要求高,不愿意被seo,或者不希望数据曝光给spider,不要使用静态化 6. 大型网站中,静态化技术是综合的。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服