仓酷云
标题:
PHP教程之PHP网站提速三大软招
[打印本页]
作者:
海妖
时间:
2015-2-4 00:03
标题:
PHP教程之PHP网站提速三大软招
会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功效,输出文件、输入文件巨细都有申明。
文件缓存
这类办法凡是是针对PHP、PERL等CGI法式而言的,由于这些法式有一个配合的特点就是接到用户的恳求后不是即刻将了局前往给用户,而是经由注释器注释履行后将履行了局前往给客户,这时代凡是都要触及到数据库的会见。如许就会呈现一个成绩,当两个用户会见统一个页面时,体系将分离对两个恳求停止操作,但现实上这两个操作多是如出一辙的,如许有形傍边增添了体系的承当。所以凡是的处理举措是在体系内存中启示出一段空间,当用户第一次会见页面后将履行了局寄存在该内存中,当有效户再一次会见该页面时,体系就将页面直接从内存中调出而不需求从头注释履行,这段内存空间就叫缓存。今朝盛行的缓存办理法式有两个,一个是FastCGI,另外一个是Zend Technologies公司的Zend Cache。FastCGI次要是针对Perl、C、C++等CGI剧本法式设计的,可以无效天时用内存作缓存,来自客户真个恳求城市被传送到FastCGI使用办事法式,FastCGI处置用户的恳求后将了局前往给用户。普通的CGI法式这时候将停止历程主动加入,然而FastCGI历程持续坚持,这时候它在接到新的用户恳求后不用创立新的历程,可以当即处置用户恳求,也就是说CGI法式创立历程按次履行然前进出,而FastCGI法式按次履行并永久轮回。
Zend Cache的办理界面
要想利用FastCGI起首要把FastCGI编译到Apache中,办法十分复杂,这里就不申明了,还要在http.conf文件里作设置:
AddHandler fastcgi-script .fcg .fcgi .fpl
Options ExecCGI Indexes Includes
如许FastCGI就能够正常任务了,上面是FastCGI法式员手册中的一段例子法式:
#!fcgi-savvy-perl
use FCGI; # 初始化
# Initialization code
= 0;
# Response loop
while (FCGI::accept >= 0) {
#FastCGI创立轮回体
print "Content-type:text/html "; #法式履行
print "<head><title>FastCGI Demo Page (perl)</title></head> ";
print "<h1>FastCGI Demo Page (perl)</h1> ";
print "This is coming from a FastCGI server. <BR> ";
print "Running on <EM>publish152.internal.sina.com.cn</EM> to <EM></EM><BR> ";
++;
print "This is connection number ";
}
FastCGI对Perl等CGI法式的功效十分壮大,然而它对PHP法式确是力所不及的,并且需求在编程时增添内容,也就是说它需求一些工资的要素才干发扬感化。比拟之下Zend Technologies公司的Zend Cache针对PHP的缓存功效是很壮大的,只需装置了该软件,法式员就像编写其他PHP法式一样,不需求增添代码,就能够完成缓存功效,有益于体系晋级,非常便利。它是一个付费软件。它有缓存功效并能经由过程图形界面临其停止办理,个中:Cache Control页面,可以设置装备摆设Zend Cache,显示其以后形态,还能启动和中断Zend Cache功效;Scripts页面,Zend Cache的内容,包含每一个文件的形态,还可以依据点击次数弛缓存占领巨细选择文件;Benchmark页面,可以测试Zend Cache的缓存后果,并以图形体例给出显示,它测试的是每秒钟完成PHP恳求的次数。
它的装置、验证办法与Zend Optimizer根基不异,这里就不具体申明了,感乐趣的读者可以参考用户手册,它的壮大功效和便当的办理办法的确让人心动。
以上是网站提速罕见的几种办法,关于分歧的网站需求采取分歧的手腕,所对应的提速计划也不尽不异,但整体上不过乎是以上提到的三招,读者可以依据本人的实践情形详细成绩详细剖析。
注重:思索到客户端软件的庞杂性,由于有些客户端软件能够不撑持某些特征,好比,mod_gzip对页面停止紧缩,然而假如客户端利用的是Netscape就不可,由于它不克不及把吸收到的紧缩页面解紧缩,招致页面不克不及正常显示。
我的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。
作者:
透明
时间:
2015-2-4 08:19
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者:
蒙在股里
时间:
2015-2-9 19:58
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者:
老尸
时间:
2015-2-11 15:05
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者:
精灵巫婆
时间:
2015-3-2 13:57
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者:
只想知道
时间:
2015-3-11 03:54
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者:
再见西城
时间:
2015-3-13 07:09
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者:
乐观
时间:
2015-3-17 23:09
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者:
仓酷云
时间:
2015-3-18 00:18
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者:
小妖女
时间:
2015-3-25 08:18
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者:
灵魂腐蚀
时间:
2015-3-26 13:17
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者:
海妖
时间:
2015-3-31 15:12
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者:
兰色精灵
时间:
2015-4-1 01:08
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者:
admin
时间:
2015-4-4 10:42
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者:
第二个灵魂
时间:
2015-4-8 14:48
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者:
爱飞
时间:
2015-4-14 06:34
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者:
飘飘悠悠
时间:
2015-5-1 18:07
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者:
因胸联盟
时间:
2015-5-6 04:10
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者:
小魔女
时间:
2015-5-6 11:22
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者:
若相依
时间:
2015-5-9 07:50
做为1门年轻的语言,php一直很努力。
作者:
深爱那片海
时间:
2015-6-9 10:43
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2