PHP网页设计提拔PHP履行速度全攻略(下)
终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。攻略|速度|履行 Web内容的紧缩(令你客户用起来更“爽”)经由以上两个的办法,信任你的PHP使用的功能已失掉了很大的进步,如今该从另外一个方面来思索了:下载速度。假如你的使用只是在公司内跑,一切的客户都利用100Mb/s的以太网毗连到办事器,这能够不是一个成绩,然而假如你的客户中有利用慢速的modem毗连的,你就要思索利用内容紧缩这个办法了。依据IETF的标准,大多半的阅读器都撑持gzip的内
容紧缩。这意味着你在将web的内容发给客户的阅读器前,可以先利用gzip停止紧缩,阅读器在吸收的时分就会主动解压数据,而且令用户看到本来的页面。一样,紧缩web页面的内容也有几个分歧的办法。
mod_gzip是Remote Communications(http://www.phpbuilder.com/columns/www.remotecommunications.com)收费供应的一个Apache模块,它可以紧缩静态的web页面。它任务得很好,你只需求将它和apache一同编译就好了(或将它作为一个DSO利用)。Remotecommunications的人说它还可以紧缩静态的内容,包含mod_php, mod_perl等。不外我测验考试了一下,看来其实不行。我在mod_gzip的邮件列表中懂得到,这个bug将鄙人一个版本中修改(我想应当是1.3.14.6f版本)。不外你依然可以用它作静态内容的紧缩。
不外咱们还想紧缩静态的内容,因而咱们必需找别的的举措。一个举措是利用class.gzip encode.php(http://leknor.com/code/),只需在你的PHP剧本中的开首和开头挪用这个PHP类,就能够紧缩你的页面内容。假如全部站点都需求如许的紧缩,你可以在你的php.ini文件中的auto_prepend和auto_append中挪用这些函数。它任务得很好,不外在负载很重的站点上,它分明会带来一点的体系开支。要具体懂得它是若何任务的,可以看一下它的类代码(你最少需求在编译PHP时到场zlib撑持)。作者在外面的申明也十分具体,你可以失掉任何需求懂得的器材。
在比来,我也看到了一篇关于PHP输入缓冲的文章。它说的是PHP4.0.4推出了一种新的输入缓冲的处置手腕--ob_gzhandler,它的感化和下面引见的类不异,但区分是你只需在你的php.ini中利用以下的句法就好了:
output_handler = ob_gzhandler ;
如许将激活PHP的输入缓冲功效,而且紧缩一切它发送的器材。出于某些出格的缘由,假如你不想在这里设置的话,只在需求的中央才改动这个默许设置的话(不紧缩),只需在需求紧缩的PHP源码目次中,修正一下.htaccess文件就好了,利用的句法以下:
php_value output_handler ob_gzhandler
...或直接在你的PHP代码中挪用它,以上面的体例:
ob_start("ob_gzhandler");
这个输入缓冲处置的办法很好,而且不会为办事器带来额定的体系开支。我非常建议你利用这类办法。它的改动可以用以下的例子申明,假如客户利用的是28.8K的modem的话,经由这个处置,他将会以为俄然间换成了一个ISDN接入一样。要注重的一点是:Netscape Communicator其实不撑持图像的紧缩,所以将显示不出来。因而除非你的客户全体利用Internet Explorer,不然你必需制止紧缩jpeg和gif图像。其它文件的紧缩应当没有成绩,然而我建议你最好测试一下,出格是阅读器利用了不罕见的插件或是少人用的阅读器。
其它有效的器材...
Zend Technologies的在线商铺在往年1月24守旧了,而且售卖一些与PHP相干的风趣产物。包含后面提到的Zend Cache,Zend Encoder(复杂说来,是PHP代码的编译器,可以发生编译的类,如许你就能够售卖给顾客而不必忧虑泄漏源代码。在需求运转这些类的web办事器上,将要利用Zend Encoder Runtime来解码),Zend Ide(一个为PHP而设的集成化开辟情况,带有良多壮大的功能),还无为PHP开辟者供应的撑持办事。
结论
利用这篇文章提到的手艺,你将可以极大地进步站点的功能,不外请注重以下几点:
1.瓶颈也许不在PHP,你需求考查使用中的每一个对象(例如数据库)
2.一个web办事器的功能都是无限制的,因而,不要以为功能欠好就是PHP的缘由,也多是会见量很大,你的办事器需求晋级了,或思索利用负载平衡的体系(将会花良多钱)
3.不要以为内容紧缩不主要,在100Mb/s的局域网中,你的PHP使用也许功能很好,但要思索到利用慢速modem的用户。
exit来实现结束后面的PHP语句的执行,缩小调试范围,特别是数据库交互的程序,先输出个SQL语句看看,对了,再分析怎么会插入/删除不成功呢?这样对查错很有帮助。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 实践是检验自己会不会的真理。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 实践是检验自己会不会的真理。
页:
[1]