故事
APCu 是老牌 PHP 字节码和对象缓存 缓存器 APC 的分支,具体由来还得讲个故事。
首先提一下,PHP 如果公用多个缓存器是会冲突的,例如同样都是字节码缓存器,OPcache 和 eAccelerate 同时安装就会起冲突甚至报错;而 XCache 同时有字节码缓存器和对象缓存,和 OPCache 共存也是会起冲突的。
在 PHP 5.5 之前是没有 OPcache 这个缓存器的,因而 PHP 下有 eAccelerate、XCache、APC 等几大著名的缓存器,后来 Zend 官方开发了 PHP 的字节码缓存器并且拥有极佳的性能表现在 PHP7 上更是不可或缺的存在。因为单纯只有 字节码 缓存器的 eAccelerate 便落寞了。而 XCahe 还是有更新但是在 PHP7 发布后还是停滞出新了很久。
而 APC 本来拥有 字节码缓存和对象缓存,后来便删除了字节码缓存。又将原有的系统缓存和用户缓存删去了系统缓存,保留了拥护缓存,因此 APCu = APC User 便是这么来的。从此 APCu 可以在 PHP7 下继续稳定存在,并且不起冲突。
软件源安装
如果是通过系统软件库安装的朋友,可以添加在 remi 、dotdeb、ppa 等软件源来通过 yum/dnf 或者 apt-get 安装 php7 和 apcu
因为 remi 、dotdeb、ppa 几乎都有多个 PHP 可以安装,所以我们可以通过搜索来判断自己需要安装的软件名称。
例如 CentOS:
复制代码
yum search apcu
看哪一个的 apcu 版本是大于 5.1.0 的就选择哪个进行安装。
编译安装
复制代码
wget http://pecl.php.net/get/apcu-5.1.3.tgz
tar xzf apcu-5.1.3.tgz
cd apcu-5.1.3
phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make && make install
大致安装流程是如此,不同安装环境其中的 –with-php-config=/usr/local/php/bin/php-config 文件地址不同哟!
然后在 php.ini 文件中添加,相关的 acpu.so 即可!
兼容性
因为 APCu 5.1.0 开始,不再使用 apc_ 相关语句来识别了,而使用 apcu_ 但是一些软件并没有跟进,所以我们还需要 apcu_bc 来兼容旧的的语句。
安装方法和上述两种相同。