动态页面静态化优化数据库使用负载均衡使用缓存如果页面中的一些内容不经常改动,可以使用动态页面静态化。好处是:减少服务器脚本的计算时间;降低服务器的响应时间。
1、动态url地址设置静态形式(伪静态)
例如:http://xxx.com/index.php?c=play&id=1111 =>
http://xxx.com/play/1111.html (并不是一个纯静态页面)
2、buffer
buffer其实就是缓冲区,一个内存地址空间,主要用于存储数据区域。
编写一个buffer.php文件,并保存,并不是直接将文件内容保存在磁盘里,而是先把内容写入到buffer中,当一个buffer写满的时候,会把buffer中的数据写入到磁盘里,这是操作系统的buffer。
当执行一个php程序的时候,如果有输出内容,会先放到输出缓冲区,数据再通过tcp传给客户端或浏览器。
要想数据能够放到输出缓冲区,首先打开输出缓冲,通过php.ini文件output_buffering = on或者ob_start(),然后使用ob_get_contents()获取输出缓冲区内容。
3、php实现页面纯静态化
纯静态化的html文件放在服务器端的磁盘。
基本方式:
file_put_contents()函数; int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
成功会返回写入到文件内数据的字节数,失败时返回false。
使用php内置缓存机制实现页面静态化-output_bufferingob函数
ob_start(); 打开输出缓冲区
ob_get_contents(void);返回输出缓冲区内容
ob_clean(void);清空输出缓冲区
ob_get_clean(void);得到当前缓冲区的内容并删除当前输出缓冲区
生成纯静态页面的三种方式:
页面添加缓存时间//存在index.html并且在有效时间以内(5分钟)if (file_exists('index.html') && (time()-filemtime('index.html') 登录后复制
手动触发后台手动设置,主动生成
linux crontab 定时扫描程序crontab -e //编辑某个crontab文件,文件内容如:*/5 * * * * php执行程序所在目录 /xx/xx.php
http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
4、伪静态
php处理伪静态:正则表达式匹配
//http://xxx.cn/xx/test4.php/2/11.html//http://xxx.cn/xx/test4.php?page=2&id=1,实际的访问路径if(preg_match('/\/(\d+)\/(\d+).html/', $_server['path_info'], $matches)){ $param['page'] = $matches[1]; $param['id'] = $matches[2];}登录后复制
apache下rewrite配置:
http://myapps.com/detail/12.html ==> http://myapps.com/apps/detail.php?id=12(实际访问的路径)
httpd.conf文件:开启loadmodule rewrite_module modules/mod_rewrite.so
extra/httpd-vhosts.conf文件 作如下配置:
serveradmin webmaster@dummy-host2.example.com
documentroot d:/wamp/www/myproject
servername myapps.com
errorlog logs/dummy-host2.example.com-error.log
customlog logs/dummy-host2.example.com-access.log common
rewriteengine on
#如果detail目录下有12.html文件,就优先访问该目录下的文件
rewritecond %{document_root}%{request_filename} !-d
rewritecond %{document_root}%{request_filename} !-f
rewriterule ^/detail/([0-9]*).html$ /apps/detail.php?id=$1
http://www.onexin.net/apache-rewrite-detailed/
http://www.bkjia.com/phpjc/1096610.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1096610.htmltecharticlephp页面静态化,php页面静态 如何优化页面响应时间: 动态页面静态化 优化数据库 使用负载均衡 使用缓存 如果页面中的一些内容不经常改...
