从eaccelerator升级到apc_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > 从eaccelerator升级到apc

从eaccelerator升级到apc

 2010/12/15 8:02:02  guozhiwei  http://guozhiwei.javaeye.com  我要评论(0)
  • 摘要:公司之前一直使用的eaccelerator,现在决定换用apc了,eaccelerator和apc是不兼容的。况且也没有必要同时使用2种加速器。前阵子在开发环境着选择了其中一台机器卸载了eaccelerator,安装apc并进行了测试。慢慢的将范围扩展到开发环境中机器,将所有开发环境中机器都卸载eaccelerator,换用apc。卸载掉eaccelerator之后,那之前已经用eaccelerator写的代码怎么办呢?所以需要写个兼容的代码。不过他们两个提供的api接口用法都非常接近。if
  • 标签:

?? ? ?公司之前一直使用的eaccelerator,现在决定换用apc了,eaccelerator和apc是不兼容的。况且也没有必要同时使用2种加速器。前阵子在开发环境着选择了其中一台机器卸载了eaccelerator,安装apc并进行了测试。慢慢的将范围扩展到开发环境中机器,将所有开发环境中机器都卸载eaccelerator,换用apc。

卸载掉eaccelerator之后,那之前已经用eaccelerator写的代码怎么办呢?所以需要写个兼容的代码。不过他们两个提供的api接口用法都非常接近。

if?(extension_loaded(‘apc))?{

?? 类似这样使用之前eaccelerator的api接口的名字,实际调用的是apc提供的api接口
?? ?function eaccelerator_put($key,$value,$ttl)

?? ?{

?? ? ? ? ? ? ? ? return apc_store($key,$value,$ttl)

?? ?}

?? ?......

?? ?......
}

?? ? 然后将这个代码放入项目的入口文件处,或者包含的公共文件即可。

给代码升级需要一个平缓的过程,不能一下子把所有正在使用的eaccelerator换成apc,要是apc突然出什么问题了,都来不及撤回去。所以可以先找一些不是运行的核心业务的机器先把软件和代码升级,慢慢观察一段时间,再逐步应用的所有的机器上面。

?? ? 今天升级后就碰到了一个问题,之前eaccelerator_get没有该key的话,会返回一个null值,而apc_fetch没有该key的话会返回false,由于之前的老代码有些地方只支持返回null值,返回false的时候,部分代码就会出错。

  • 相关文章
发表评论
用户名: 匿名