开发者社区> 问答> 正文

PHP和ZEND模块和缓存模块三者版本的问题

PHP版本:
目前流行的版本包括5.2,5.3,5.4,5.5。官方已经不再更新/支持5.2版本,最后的5.2.17的发布时间是2011年1月6日,甚至后来的拒绝服务漏洞也没能让官方发布5.2.18,只能打非官方的补丁。但是现在国内相当一部分程序只支持PHP5.2。


ZEND版本:
PHP5.2时代叫Zend Optimizer,常用版本包括3.3.3和3.3.9。很多程序对这个Zend Optimizer的版本也有要求。
PHP5.3和PHP5.4开始使用Zend Guard Loader取代Zend Optimizer。有些程序只能支持Zend Optimizer3.3.3或者Zend Optimizer3.3.9,也就意味着这些程序只能使用PHP5.2。
PHP5.5开始内置了opcache,这东西的功能之一是延续Zend Optimizer和Zend Guard Loader的代码优化功能,另一个功能就是,把缓存模块的活也给干了。


缓存模块:
在opcache出现之前,常用的缓存模块包括APC,eAccelerator,XCache。这三者之间如果选择的话,个人建议使用XCache,一是从网上收集到的测试数据综合来看,性能较好,二是版本一直在维护更新。
但是在opcache出现后,导致php5.5如果想支持zend加密的代码就只能安装opcache,但是这货把前面几个缓存模块的活也一起干了,如果安装了opcache再安装其他的缓存模块的话,可能会导致兼容问题和不稳定。另外opcache虽然网上流传的测试表明性能上优于其他模块,但是毕竟是新出的产品,稳定性有待考验。
所以综合前面所有因素,从缓存模块的选择来考虑的话,个人觉得最好的方案是PHP5.5以下版本安装xcache模块再加上对应的ZEND版本(Zend Optimizer,或者Zend Guard Loader),PHP5版本如果需要支持zend则安装opcache,不需要则安装xcache。


最近在写LNAMP安装脚本不得不考虑下这些问题,最后做出的决定是,支持定义安装PHP版本(从5.2到5.5)以及对应的zend(opcache)及xcache版本(放弃APC和eAccelerator)。

展开
收起
云代维 2014-01-26 15:33:23 10740 0
1 条回答
写回答
取消 提交回答
  • RePHP和ZEND模块和缓存模块三者版本的问题
    一直期待着你的脚本作为学习
    2014-01-26 19:26:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载