PHP头条
热点:

PHP网站提速三大“软”招(1)


随着网络的普及,网站已渗透到了每个行业,但是由于现在专线费用让很多企业和个人难以承受,所以共享带宽成为很多网站的最好选择方案。费用虽然降低了但是个新的问题很快就出现了,那就是共享带宽的网速很慢,有时甚至让人无法忍受。怎样能让自己的网站快起来,成为人们关心的问题,笔者结合亲身实践来讲讲软办法的一些实际应用,希望能够对读者有所帮助。

笔者采用的是Linux操作系统,Apache+PHP的网站构建方法。

代码优化

通常需要程式员要有好的编程习惯,尽量减少冗余代码的出现,现在也有好多工具能够完成这项功能,对于一般的html文档,用于减少冗余的减肥工具很多,而对于PHP程式来说这样的工具就不太多了,但是Zend Technologies的Zend Optimizer是一款很好的代码优化工具,能够免费从Zend Technologies的网站上获得。Zend Optimizer的使用方法也很简单,只要将下载的ZendOptimizer-1[1].0.0-PHP_4.0.4- Linux_glibc21-i386.tar.gz文档解压缩,将其中的ZendOptimizer.so文档拷贝到/usr/local/Zend/lib目录下,然后修改php.ini文档,在最后添加以下几行:

显示说明Zend Optimizer工作正常

zend_optimizer.optimization_level=15

zend_extension="/usr/local/ Zend/lib/ ZendOptimizer.so"

配置完成后重启Apache服务器,编写一段PHP程式:

 <?

Phpinfo();

?>

一般来说Zend Optimizer能将系统的效率提升30%~40%,这是用户最关心的。

压缩页面

HTTP1.1协议支持页面压缩传送,也就是说服务器把一个页面压缩传送到客户端,然后在客户端将页面解压缩再显示给客户。在服务器端有两种传输方式,一种是页面事先已压缩好了,传送时只要将压缩页面传送到客户端就行,这种适用于静态网页多的情况,但是对于大多数站点,动态页面比较多,这种方法不太适合,因为很多传到客户端的页面其实是没有的,是服务器接到客户端用户请求动态产生的,所以就需要每生成一个动态页面都要在传到客户端以前先打包压缩。从PHP的4.0.4版以后,能够在php.ini文档中增加一行配置“output_handler = ob_gzhandler”,这样每个动态生成的页面在传送到客户端之前都会进行压缩,但是根据PHP官方站点的说明,这个参数不能和“zlib.output_compression = on”参数同时使用,因为容易引起PHP工作不正常,另外他只能压缩PHP程式的动态生成的页面,对于大量的静态页面尤其是图像文档就不行了。但是mod_gzip模块为Apahe提供了将静态页面在传给客户端以前先压缩的功能,他的压缩比最大能到10,一般情况下能够到 3,也就是说网站的传输速率一下提高了三倍多。要想使用mod_gzip功能首先要下载mod_gzip.c或mod_gzip.so文档,假如下载的是.c文档还要用Apache带的工具将他转化为.so文档才能使用,方法是运行下面的命令:

-i -a mod_gzio.c

cp mod_foo.so/path/to/apache/libexec/mod_gzip.so

chmod 755/path/to/apache/libexec/mod_foo.so

系统会在/path/to/apache/ etc/httpd.conf中自动激活该模块,假如下载的是.so文档则要将该文档拷贝到相应的目录下,然后在httpd.conf文档中添加LoadModule gzip_module libexec/ mod_gzip.so,使模块生效。需要注意两点,第一,要想使用.so文档,Apache必须包含了mod_so模块能够通过httpd -l命令来查询该模块是否生效);第二,假如下载的是.so文档,他是和Apache的版本有关的,要注意下载的版本和自己使用的Apache是否一致,假如是.c文档就没有这个问题。模块生效后还要对Apache进行相应的配置,需要在httpd.conf文档中加入一些参数:

◆mod_gzip_on Yes模块是否生效)

◆mod_gzip_minimum_file_size 1002最小压缩文档大小)

◆mod_gzip_maximum_file_size 0最大压缩文档大小,0表示没有限制)

◆mod_gzip_maximum_inmem_size 60000最大可占用内存)

◆mod_gzip_item_include file "..gif102SINA>DOUBLE_QUOTATION 以gif结尾的文档要压缩传送)

◆mod_gzip_item_include file ".txt102SINA>DOUBLE_QUOTATION

◆mod_gzip_item_include file ".html102SINA>DOUBLE_QUOTATION

◆mod_gzip_item_exclude file ".css102SINA>DOUBLE_QUOTATION

使用了压缩模块后,当用户访问站点时会在日志文档中记录相应的信息,比如“mod_gzip :OK In:file_length Out:gzipfile_length”,表示该页面传输中使用了gzip功能,输入文档、输出文档大小都有说明。


www.phpzy.comtrue/php/18438.htmlTechArticlePHP网站提速三大“软”招(1) 随着网络的普及,网站已渗透到了每个行业,但是由于现在专线费用让很多企业和个人难以承受,所以共享带宽成为很多网站的最好选择方案。费用虽然降低...

相关文章

PHP之友评论

今天推荐