仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1597|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网页设计让你的PHP引擎全速运转的三个绝招

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度       作为盛行的 Web 编程言语, PHP 的最大优势就是速度。 PHP4 已在这方面做的十分好了,你几近找不到比它更快的剧本编程言语了。然而假如你的使用负荷很大,而带宽又对照小,或有其他的瓶颈影响你的办事器功能,那末,你无妨尝尝笔者为你开出的几个药方,看看是不是灵验。

  1、代码优化

  一谈到代码优化,也许你想到的就是划一了然的代码,然而本文的意思却不是在此,由于假如要追求速度的话,就要对PHP 源码作响应的调剂。普通说来就是去失落过剩的正文,让代码不成读。然而这关于一个具有优秀素养的法式员来讲,几乎就是难以想象的。好在Zend Technologies 公司宣布了 Zend 优化引擎可以匡助你做到这一点。它如今是收费的,然而你必需遵守 Zend Optimizer 允许。这个产物可以对引擎发生的两头代码停止优化。

  装置这个引擎对照复杂,下载对应平台的版本今后,解开紧缩文件,然后在 php.ini 文件外面加高低面两行,从头启动 Web 办事器,就弄定了。

zend_optimizer.optimization_level=15

zend_extension="/path/to/ZendOptimizer.so"

zend_loader.enable=Off

  假如是 Win32 平台的话就应当是:

zend_optimizer.optimization_level=15

zend_extension_ts="C:\\path\\to\\ZendOptimizer.dll"

zend_loader.enable=Off

  啊!没有弄错吧?怎样是三行?其实第三行是可选的。由于看起来把 zend_loader 关失落能进步一点速度,因而值得把这第三行放到 php.ini 。需求注重的是,关失落的条件前提是你没有在利用 Zend 加密法式。

  2、缓冲

  假如想要更进一步提拔速度,咱们就需求思索采取缓冲手艺了。有一些可选的处理计划,包含 Zend Cache (测试版本), APC, 和 Afterburner Cache,别的还有 jpCache 等。

  以上这些都是属于缓冲模块,他们把第一次对 .php 文件恳求发生的两头代码存储在 Web 办事器的内存中,然后对今后的恳求前往“编译好”的版本。由于如许削减了磁盘读写,并且都在内存任务,所以这个进程能明显提拔使用功能,

  现成的这类产物对照多,究竟选择谁呢?

  Zend Cache 是一款不错的贸易产物,在第一次加载那些很大的 PHP 页面后,你会分明感触感染到速度的提拔,办事器会留出更多的资本。惋惜这个产物是要花银子的,然而在有些情况下,你可不要小气这些银子。

  Afterburner Cache 是 Bware Technologies 的产物,今朝还处于 Beta 版本,看起来仿佛和 Zend Cashe 一样,然而它不克不及到达 Zend Cache 那样好的后果,也不克不及和 Zend 优化引擎一同任务,然而它是收费的,所以我采取了这个模块。

  APC (Alternative PHP Cache) 是 Community Connect 宣布的又一个收费模块,看起来仿佛可以用于临盆情况了。

  3、Web 内容紧缩

  关于日趋拥堵的收集来讲,勤俭带宽就像勤俭用水一样是非常值得倡始的。依据IETF 尺度,大多半阅读器应当撑持利用 gzip 紧缩的内容。也就是说你可以把用 gzip 紧缩的内容发送给阅读器,阅读器会通明的解压数据。

  mod_gzip 是 Remote Communications 公司推出的收费 Apache 模块,能把静态的Web 内容紧缩后发送给阅读器。关于大多半静态网页来讲,这个模块非常适合。虽然

  Remotecommunications 公司的人说这个模块撑持一切那些 mod_php, mod_perl,mod 甚么发生的静态内容,然而看起来仍是不克不及任务,从 mod_gzip 的邮件列表来看,这个成绩估量要到1.3.14.6f 才干处理。

  假如要紧缩静态内容的话,咱们可以采取class.gzip_encode.php,一个在剧本入手下手和停止时利用的 PHP 类。对全部网站来讲就是在 php.ini 的 auto_prepend 和 auto_append 中挪用个中的函数。具体你可以浏览这个类的法式,这个法式正文得很好,作者几近把甚么都告知你了。不外利用之前,你的 PHP 要编译为撑持 zlib。

  关于 PHP 4.0.4 来讲,一个新的处理计划就是利用 ob_gzhandler,能到达和下面的类一样的后果,只需复杂的在 php.ini 到场上面这句话就能够了:

output_handler = ob_gzhandler ;

  这能让 PHP 激活输入缓冲,并紧缩一切输入。假如有甚么特别的来由不想让一切的内容都紧缩输入的话,可以采取在 .htaccess 文件中到场上面的行,对对应目次下的文件停止紧缩。

php_value output_handler ob_gzhandler

  也能够直接在 PHP 代码中到场:

ob_start("ob_gzhandler");

  这项紧缩手艺非常无效,然而对 Netscape Communicator 用户来讲,由于不克不及紧缩图形文件,所以看上去没有完全的发送,因而必需封闭对 jpeg 和 gif 文件的紧缩,IE 没有这个成绩。

  结论:

  采取本文所会商的手艺应当能改良你的网站功能,然而需求注重的是:

  - PHP 能够不是招致瓶颈的缘由,细心反省其他缘由(例如:数据库)

  - 你不成能把办事器功能调理到最高形态。因而在抱怨 PHP 及其缓冲之前,思索是不是该晋级办事器了,或采取静态负载均衡手艺(那可是一大笔银子哦)。

  - 不要低估内容紧缩,在你 100 Mb 的外部网下面看到 PHP 使用的速度提拔时,不要健忘利用调制解调器的用户在哪里抱怨你的 100Kb 的 HTML 页面。  我先把我自己学习PHP的过程做一下概括:
冷月葬花魂 该用户已被删除
沙发
发表于 2015-2-4 11:48:19 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
透明 该用户已被删除
板凳
发表于 2015-2-4 11:48:19 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
老尸 该用户已被删除
地板
发表于 2015-2-5 21:09:20 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
乐观 该用户已被删除
5#
发表于 2015-2-13 13:14:32 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
第二个灵魂 该用户已被删除
6#
发表于 2015-3-3 21:46:44 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
再现理想 该用户已被删除
7#
发表于 2015-3-11 13:19:12 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
山那边是海 该用户已被删除
8#
发表于 2015-3-11 19:51:50 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
深爱那片海 该用户已被删除
9#
发表于 2015-3-15 22:26:17 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-16 05:51:20 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
海妖 该用户已被删除
11#
发表于 2015-3-19 22:50:53 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
admin 该用户已被删除
12#
发表于 2015-3-21 00:27:01 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
飘飘悠悠 该用户已被删除
13#
发表于 2015-3-22 23:14:58 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
分手快乐 该用户已被删除
14#
发表于 2015-3-28 12:30:22 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
蒙在股里 该用户已被删除
15#
发表于 2015-3-29 22:54:50 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
变相怪杰 该用户已被删除
16#
发表于 2015-4-1 05:43:50 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
小女巫 该用户已被删除
17#
 楼主| 发表于 2015-4-8 04:58:54 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
18#
发表于 2015-4-12 00:54:47 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
柔情似水 该用户已被删除
19#
发表于 2015-4-16 18:34:17 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
只想知道 该用户已被删除
20#
发表于 2015-4-22 03:32:48 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 00:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表