PHP实现页面静态化--imooc课程
来源:互联网 发布:e4a怎么写入数据库 编辑:程序博客网 时间:2024/05/21 07:07
优化页面响应时间的方法:
动态页面静态化 (实质是生成静态html文件)
优化数据库
使用负载均衡
使用缓存
执行php文件的过程:语法分析,编译运行
执行html文件:直接运行
打开phpbuffer的方法:1.可以再php.ini里面打开output_buffering或者使用ob_start()。
生成静态页面主要用的两个函数
file_put_contents
ob_get_clean()
先将数据库内容获取到,然后引入模板,填充模板 ,生成静态文件
引入模板的require函数同样会触发buffer(类似于echo)
如何出发系统生成纯静态化页面
1.页面添加缓存时间(过期问题)
if(is_file('./index.shtml')&&(time()-filemtime('./index.shtml'))<300){ require_once('./index.shtml');}else{ //重新生成一份静态页面 ob_start(); //引入模板文件 require_once('./templates/singwa.php'); //这里不能使用ob_get_clean()否则信息不回呈现出来了 file_put_contents('index.shtml',ob_get_contents());}
2.手动触发方式:后台增加开始更新(手动触发的机制)
3.crontab定时扫描程序(crontab是linux的定时执行命令)
* * * * * command
分 时 日 月 周 命令
*/5**** php/data/static/index.php #每五分钟执行一次
局部动态化的实现 (。。醉了,写完没有保存,又要重写)
使用ajax实现(ajax客户端程序要写在singwa.php中)
$.ajax({ url:'http://state.com/api/ajax.php', type:'get', dataType:'json', error:function(){}, success:function(result){ if(result.code==1){ var html=''; $.each(result.data,function(key,value)){ html+='<li><a href="/">'+value.title+'</a></li>'; }); $('#hot_html').html(html); } },});
联表查询–ajax.php
$sql="select * from table1 as a join table2 as b on a.news_id=b.id order by a.count desc limit 3";$result=mysql_query($sql,$connect);/*mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。关联数组和数字数组的差别在于键名是数字还是有意义的键名*/while($row=mysql_fetch_assoc($result)){ $res[]=$row;}function show($code=0,$message="error",$data=array()){ $result=array( 'code'=>$code, 'message'=>$message, 'data'=>$data ) echo json_encode($reesult);}return show(1,'success',$res);
伪静态–动态url地址转化为静态的url地址
1.通过$_SERVER[PATH_INFO]实现(nginx服务器默认不支持path_info要配置)
正则表达式分析url地址
/*http://state.com/newsList.php?type=2&category_id=1http://state.com/newsList.php/2/1.html*/if(preg_match('/^\/(\d+)\/(\d+).html/',$_SEVER[PATH_INFO],$arr)){ $type=$arr[1]; $category=$arr[2]; //去数据库查询,放入模板}else{ //TODO跳404.或者返回首页}
2.配置服务器的rewrite直接生成伪静态
apache:
1.虚拟域名配置
httpd.conf文件中开启相关模式
LoadModule rewrite_module modules/mod_rewrite.so
Include conf/extra/httpd-vhosts.conf
在httpd_vhosts.conf修改虚拟域名
修改本地hosts文件(里面是绑定的一些域名)(window8修改竟然没有权限)
2.伪静态配置
rewriteEngine
在httpd_vhosts.conf中做一些配置
看完一个视频,把重点总结到博客里面能记下很多东西。还是要坚持写博客
- PHP实现页面静态化--imooc课程
- PHP页面静态化实现
- PHP实现页面静态化
- PHP实现页面静态化
- php实现页面静态化
- php实现页面静态化
- PHP实现页面静态化
- php实现页面静态化
- php实现页面静态化
- php实现页面静态化(纯静态&&伪静态)
- 使用php实现伪静态化页面
- PHP伪静态化页面的实现
- 使用php实现伪静态化页面
- php页面静态化实现思路
- php实现页面静态化的起步
- 【学习笔记】PHP实现页面静态化
- PHP如何实现HTML页面静态化
- php-ob缓存实现页面静态化
- select (Unix)
- 无论你说什么,都有人不能或不愿领会
- eclipse移动上下行
- Codeforces Round #301 (Div. 2)A B C
- epoll
- PHP实现页面静态化--imooc课程
- Spring HttpHeader HttpResponse
- 在gradle中配置apk的签名文件keystore
- 使用POI导出Excel
- ios GCDAsyncSocket(Tcp)的使用
- 重构方法之重新组织函数
- VMware Workstation 11序列号
- ios系统安全机制概览
- Android应用内社区SDK技术架构浅析