Alternative PHP Cache ( APC )

简介:

Alternative PHP Cache (APC) 是一个开放自由的PHP opcode 缓存。它的目标是提供一个自由、开放和健全的框架用于缓存和优化 PHP 的中间代码,加快 PHP 执行速度。

常见的 PHP 加速器还有 Eaccelerator、XCache 等。

下载地址:http://pecl.php.net/get/APC-3.1.9.tgz

1、安装 APC

shell > wget http://pecl.php.net/get/APC-3.1.9.tgz

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  # 对所有文件启用缓存

## 关于参数请参考官网:http://php.net/manual/zh/apc.configuration.php

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

## 原因不明 ,使用下面版本替换此版本

下载地址:http://pecl.php.net/get/APC-3.1.13.tgz

## 安装方法跟上面一样,apc.so 直接替换掉即可,重启无报错

时间: 2024-10-30 00:35:24

Alternative PHP Cache ( APC )的相关文章

安装 APC(Alternative PHP Cache) 提升 PHP 的解析速度

本文引用<高性能 PHP 开发>来做下记录 无论从命令行还是从 Web 服务器上执行 PHP 脚本时,PHP 必须执行所需的5个步骤. Zend 引擎必须从文件系统中读取该文件.扫描其词典和表达式.解析文件.创建要执行的计算机代码(称为Opcode),最后执行 Opcode. PHP 的生命周期非常的短暂,但是,每次对脚本发起请求时,它必须执行这5个步骤.每次在针对特定的 PHP 脚本的请求到达时,即使改PHP脚本的内容没有任何变化时,Zend 引擎也必须重新创建该文件的 Opcode.对于脚

Apc缓存Opcode(转)

1.PHP执行 PHP的运行阶段也分成三个阶段: Parse.语法分析阶段. Compile.编译产出opcode中间码. Execute.运行,动态运行进行输出. 由于PHP是个解释型语言执行的时候先得把程序读进来,然后由Zend引擎编译成opcode.最后Zend虚拟机顺次执行这些opcode(指令)完成操作.因此我们可 以把这个Opcode缓存起来,下次就能避免重新编译了. APC缓存作用如下: 2 .APC简介 Alternative PHP Cache (APC) 是一个开放自由的PH

php 缓存之 APC 和apcu

php opcode 缓存 apc. 其实,我自己的理解, php apc 缓存其实分两部分, 一部分是 缓存 类似于 java 编译的中间的 字节码, 不同于c 语言编译之后的二进制的机器码. php apc 来缓存php解释器解析 php产生的 opcode, 哈哈.纯属个人的瞎理解,如有错误,请大家指出, 不甚感激. 还有一部分是 data cache, (key / value map ), 也就是数据缓存, 这点类似于 memerched 和 redis  缓存, 用来存储数据, 将数

linux下php5.4安装加速扩展apc配置

1.apc简介Alternative PHP Cache (APC) 中文全称是"可选PHP缓存",是一种对PHP有效的开放源高速缓冲储存器工具,可用于缓存和优化Web服务器上的PHP代码,改善服务器性能.2.apc优势APC 和 eAccelerator 都是不错的PHP加速缓存,但是为什么在这里要推荐使用 APC 呢?(1)稳定性根据我们对几个大站点的测试,虽然在低负载的情况下,APC性能略逊于eAccelerator,但是在大流量长期运行的情况下,APC 比 eAccelerat

PHP APC缓存

参见官方文档 http://php.net/manual/en/book.apc.php The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code. 通过以下方式可以查看是否安装了APC扩展 $ p

PHP之APC缓存详细介绍(学习整理)

APC的介绍 The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code. APC官方网站:http://www.php.net/manual/en/book.apc.php WIN下最新版本的下载地

推荐!国外程序员整理的 PHP 资源大全

iadoz 在 Github 发起维护的一个 PHP 资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其他的依赖管理 其他的相关依赖管理 Satis:一个静态Composer存储库生成器 Composition:一个在运行时检查C

【PHP开发】国外程序员收集整理的 PHP 资源大全

依赖管理 依赖和包管理库 Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Composer库安装器 Pickle:一个PHP扩展安装器 其他的依赖管理 其他的相关依赖管理 Satis:一个静态Composer存储库生成器 Composition:一个在运行时检查Composer环境的库 Version:语义版本的解析和比较库 NameSpacer -转化下划线到命名空间的库 Patch Installer -使用Composer安装补丁

[转载] PHP工作模型与运行机制

转载自http://www.nowamagic.net/librarys/veda/detail/350 PHP的工作模型非常特殊.从某种程度上说,PHP和ASP.ASP.NET.JSP/Servlet等流行的Web技术,有着本质上的区别. 以Java为例,Java在Web应用领域,有两种技术:Java Servlet和JSP(Java Server Page).Java Servlet是一种特殊类型的Java程序,它通过实现相关接口,处理Web服务器发送过来的请求,完成相应的工作.JSP在形式