apc
apc(alternative php cache)
apc的功能分为两部分
1. opcode缓存
2. 数据缓存,可以存储k/v对,类似memcache
apc的问题
- 在php5.3.* 之后的版本自带php_opcache,不再需要apc的opcode缓存功能
- apc的3.1.14版本在php5.5版本上有严重的内存问题,被官方废弃。最新可用的apc版本为3.1.13,仅支持php 5.3.* 。所以,如果你的php版本是5.3.*之后的版本,那意味着你不再能使用apc!
apcu
一个完全类似apc的php扩展,保留了数据缓存功能,去掉了opcode缓存。php api接口完全和apc相同,如果你的代码使用了apc数据缓存,在改到apcu扩展时,代码无需进行任何修改。
apcu安装
可以在这里选择你需要的apcu版本
https://pecl.php.net/package/APCu
我的php版本是5.5.6,下载了4.0.11版本的apcu。
下载后解压,在代码目录中执行依次执行
/usr/local/php556/bin/phpize
./configure --with-php-config=/usr/local/php556/bin/php-config
make
make install
注意:
1. phpize和php-config替换为你的实际地址。
2. 如果你的机器上有多版本的php,那么phpize和php-config一定要配套。否则编译出的so文件可能无法使用。保险起见,用绝对路径明确指明使用的phpize和php-config, 如上例所示。
安装好后,在php.ini中增加类似下面的配置,便可使用apcu了
[apc]
extension = apcu.so
apc.enabled= on
apc.shm_size= 64M
apc.enable_cli = on
更多配置项可参见安装目录下的INSTALL文件。