知识大全 让PHP引擎全速运转的三个绝招

Posted 内容

篇首语:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 让PHP引擎全速运转的三个绝招相关的知识,希望对你有一定的参考价值。

让PHP引擎全速运转的三个绝招  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  作为流行的 Web 编程语言 PHP 的最大优势就是速度 PHP已经在这方面做的非常好了 你几乎找不到比它更快的脚本编程语言了 但是如果你的应用负荷很大 而带宽又比较小 或者有其他的瓶颈影响你的服务器性能 那么 你不妨试试笔者为你开出的几个药方 看看是否灵验

  一 代码优化

  一谈到代码优化 或许你想到的就是整齐明了的代码 但是本文的意思却不是在此 因为如果要寻求速度的话 就要对PHP 源码作相应的调整 一般说来就是去掉多余的注释 让代码不可读 但是这对于一个具有良好素养的程序员来说 简直就是不可思议的 好在Zend Technologies 公司发布了Zend 优化引擎可以帮助你做到这一点 它现在是免费的 但是你必须遵循 Zend Optimizer 许可 这个产品可以对引擎产生的中间代码进行优化

  安装这个引擎比较简单 下载对应平台的版本以后 解开压缩文件 然后在 php ini 文件里面加上下面两行 重新启动 Web 服务器 就搞定了

zend_optimizer optimization_level=

zend_extension= /path/to/ZendOptimizer so

zend_loader enable=Off 

  如果是 Win 平台的应该是

zend_optimizer optimization_level=

zend_extension_ts= C:\\\\path\\\\to\\\\ZendOptimizer 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 内容压缩后发送给浏览器 对于大多数静态网页来说 这个模块十分合适 尽管Remote Communications公司的人说这个模块支持所有那些 mod_php mod_perl mod 什么产生的动态内容 但是看起来还是不能工作 从 mod_gzip 的邮件列表来看 这个问题估计要到 f 才能解决

  如果要压缩动态内容的话 我们可以采用class gzip_encode php 一个在脚本开始和结束时使用的 PHP 类 对整个网站来说就是在 php ini 的 auto_prepend 和 auto_append 中调用其中的函数 详细你可以阅读这个类的程序 这个程序注释得很好 作者几乎把什么都告诉你了 不过使用之前 你的PHP要编译为支持zlib

  对于PHP 来说 一个新的解决方案就是使用 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及其缓冲之前 考虑是否该升级服务器了 或者采用动态负载平衡技术

cha138/Article/program/PHP/201311/21481

相关参考

知识大全 解析PHP对现有搜索引擎的调用

解析PHP对现有搜索引擎的调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  <?php$

知识大全 分享25个顶级PHP模板引擎整理

分享25个顶级PHP模板引擎整理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了找到一个好的

知识大全 PHP对现有搜索引擎的调用[2]

PHP对现有搜索引擎的调用[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 PHP对现有搜索引擎的调用[1]

PHP对现有搜索引擎的调用[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 用Java+MySQL+PHP轻松构建跨平台的搜索引擎

用Java+MySQL+PHP轻松构建跨平台的搜索引擎  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 三个小绝招教你读懂面试官的心

实际上,面试也是供需双方心理上的较量。作为应征者来说,了解对方的心理特征,做到“明明白白他的心”,就能变被动为主动。因此,适当学习些心理学,掌握面试考官的基本心理特征,有准备、有针对性地参加面试,对提

知识大全 模板引擎正则表达式调试小技巧

  很久没有遇上PHP难题了这次正则问题占了一点时间还是老问题最大回溯递归限制问题学习透之后其实并不难修改调试有这类问题的正则主要是以下几点  基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯

让青春痘不再爱上你的绝招

很多人都会有个共同的疑问:明明已过了青春期,可是脸上还时不时会冒出几颗青春痘,其实这类的青春痘主要根本身的肤质、体质、遗传有关,大部分常发生在这几种情况下:让青春痘不再爱上你的绝招1、皮肤没有彻底的清

让青春痘不再爱上你的绝招

很多人都会有个共同的疑问:明明已过了青春期,可是脸上还时不时会冒出几颗青春痘,其实这类的青春痘主要根本身的肤质、体质、遗传有关,大部分常发生在这几种情况下:让青春痘不再爱上你的绝招1、皮肤没有彻底的清

知识大全 让搜索引擎看到更真实的网页

JavaScript解析:让搜索引擎看到更真实的网页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!