• 手机站
  • 收藏
聚培教育网合作机构 > 上海达内教育
上海达内教育
400-998-6158
上海达内教育是一家由留学海归创办的高端职业教育培训机构,是中国人才培养平台、人才输送平台。
上海达内教育

PHP优化配置让你的引擎速度飞起来

php学习网

更新时间:2021-10-06 浏览:200
核心提示:做为时兴的 Web 计算机语言, PHP的较大优点便是速率。 PHP早已在这些方面做的十分好啦,你基本上找不着比它更快的脚本制作计算机语言了

做为时兴的 Web 计算机语言, PHP的较大优点便是速率。 PHP早已在这些方面做的十分好啦,你基本上找不着比它更快的脚本制作计算机语言了。可是假如你的运用负载非常大,而网络带宽又较为小,或是有别的的短板危害你的网络服务器特性,那麼,你何不试一下小编给你给出的好多个方子,看一下是不是很灵。

一、代码设计

一提到代码设计,也许你想起的便是齐整一目了然的编码,可是本文的意思却并不是在这里,由于假如要寻找速率得话,就需要对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:pathtoZendOptimizer.dll"

zend_loader.enable=Off

啊!沒有弄错吧?如何是三行?实际上第三行是可选择的。由于看上去把 zend_loader 关闭能提升一点速率,因而非常值得把这第三行放进 php.ini 。*须留意的是,关闭的必要条件就是你沒有在应用 Zend 数据加密程序流程。

二、缓存

假如要想更进一步提高速率,大家就*须考虑到选用缓存技术性了。有一些可选择的解决方法,包含 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 公布的又一个免费模块,看上去好像能够用以工作环境了。

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 网页页面。

更多>同类资讯
更多>相关课程
顶部