开发者社区> 问答> 正文

PHP7 & APCu 的搭配和优化



故事

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 来兼容旧的的语句。
安装方法和上述两种相同。


来自: https://www.mf8.biz/archives/101/

展开
收起
妙正灰 2016-03-30 08:50:40 15408 0
1 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,伪Linux运维,完美主义者。
    您的帖子很精彩!希望很快能再分享您的下一帖!
    2016-04-02 07:02:17
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载