Alternative PHP Cache (APC) 是一个开放自由的PHP opcode 缓存。它的目标是提供一个自由、开放和健全的框架用于缓存和优化 PHP 的中间代码,加快 PHP 执行速度。
常见的 PHP 加速器还有 Eaccelerator、XCache 等。
1、安装 APC
shell > tar zxf APC-3.1.9.tgz -C ../
shell > cd ../APC-3.1.9/
shell > /usr/local/php/bin/phpize
shell > ./configure \
--with-php-config=/usr/local/php/bin/php-config \
--enable-apc \
--enable-apc-mmap \
--enable-apc-spinlocks \
--disable-apc-pthreadmutex
shell > make ; make install
2、配置 php.ini
shell > cp /usr/local/php/lib/php/extensions/no-debug-zts-20100525/apc.so /usr/lib64/
shell > vim /usr/local/php/php.ini
extension_dir = /usr/lib64/
extension = apc.so
[APC]
apc.enabled = 1 # 启用 apc
apc.stat = 1 # 是否每次执行脚本时都检查脚本是否被更新
apc.shm_segments = 1 # 共享内存数
apc.shm_size = 30M # 共享内存大小,按实际内存可调
apc.optimization = 0
apc.num_files_hint = 0
apc.ttl=7200 # 缓存对像生命周期,单位为 秒
apc.user_ttl=7200 # 用户缓存对像生命周期
apc.gc_ttl = 3600
apc.cache_by_default = on # 对所有文件启用缓存
3、测试
shell > /usr/local/php/bin/php -m | grep apc
apc
## 说明已经加载成功,可以重启 web 查看 phpinfo 页面
## 重启 php-fpm 报错,可以启动,但是会报错
shell > service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm /etc/init.d/php-fpm: line 53: 8323 Segmentation fault $php_fpm_BIN --daemonize $php_opts failed
shell > tail /usr/local/php/var/log/php-fpm.log
[20-Jan-2015 15:43:33] NOTICE: fpm is running, pid 8325
[20-Jan-2015 15:43:33] NOTICE: ready to handle connections
shell > netstat -anpt | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 8325/php-fpm
## 原因不明 ,使用下面版本替换此版本
## 安装方法跟上面一样,apc.so 直接替换掉即可,重启无报错
Ubuntu 14.04下搭建PHP开发环境PDF
在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0
CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6)