现 时Opcode较为出名的有APC - Alternative PHP Cache,Xcache,eaccelerator,等等,其中eaccelerator由于维护更新较慢(github的代码已一年多没更新),渐渐 被人遗忘。Xcache更新较快,甚至可以支持最新的PHP5.5,现时非常热门,唯一不足的就是Drupal7相关的模块较少,支持较差。APC发布在 PECL官网,算是官方支持组件,更新不太快,性能相差不大,胜在Drupal7有较好的模块支持,可以十分容易地整合Drupal,下面就介绍如何使用 该模块。
安装Drupal的APC模块
如果没有安装APC组件,先查看这里安装:LAMP加装APC - Alternative PHP Cache
安装好该PHP扩展组件之后,我们接下来安装该Drupal模块:
先把模块解压上传至/sites/all/modules下,先不要安装
然后打开setting.php
添加下面这几行代码
$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
$conf['cache_default_class'] = 'DrupalAPCCache';
//$conf['apc_show_debug'] = TRUE;
//上面该行代码用于调试
如下图:
如果你服务器的内存不太充裕,可以选择添加下面代码代替:
$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
$conf['cache_class_cache'] = 'DrupalAPCCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
//$conf['apc_show_debug'] = TRUE;
//上面该行代码用于调试
修改完之后,我们就可以打开Drupal的APC模块了,开启之后可以在“管理 - 配置 - 性能”那里看到两个用于清除APC缓存的按钮。
在“管理 - 报告 - 状态报告”中可以看到绿色的APC状态条
至此,APC模块就安装完成了!
如果你开启了页面缓存或者DrupalAPCCache作为你唯一的缓存,你可以进一步提升APC的性能,添加下面代码进setting.php即可
$conf['page_cache_without_database'] = TRUE;
$conf['page_cache_invoke_hooks'] = FALSE;
它们可以关闭查询数据库,直接从APC缓存中读取页面,对匿名用户非常有效。
如果你使用了Authcache模块,请把第一行删除。