Win下如何安装PHP的APC拓展


Posted in PHP onAugust 07, 2013

APC简介
APC(Alternative PHP Cache)是一个PHP缓存。它在内存中存储PHP页面并且减少了硬盘的I/O。这对于性能的提升十分明显。你甚至可以在CPU使用率下降50%的情况下提升系统50%的性能。

windows下安装PHP的APC拓展
注意:你不能在一天服务器上同时安装APC和Zend Optimiser,二者只能选其一。
按照下面的方法安装PHP的APC拓展。
下载正确的版本
我是用的PHP版本是5.3.10
注意:确定你所下载的APC拓展版本对应了你的PHP版本。
设置php.ini
编辑php.ini文件,向其中的拓展区域部分添加如下代码
extension = php_apc.dll
重启服务器,使用phpinfo查看是否成功安装
phpinfo();
Win下如何安装PHP的APC拓展
phpinfo查看apc拓展是否安装成功
查看可用的内存
创建一个php文件apcmeminfo.php
print_r(apc_sma_info());
//由缓存使用的内存数量使用这个公式来计算:
total_memory = apc.shm_segments * apc.shm_size
在这个例子中,可用的内存大约32 Mb。通常,如果我们需要在我们的缓存中超过32 Mb,我们应该增加APC使用的分段数量。然而,这可以导致web服务器错误,因此最好是增加片断的大小。我们应该逐步为缓存增加可用的总量,以避免内存的流失。
默认的APC如下:

apc.cache_by_default = On
apc.enable_cli = Off
apc.enabled = On
apc.file_update_protection = 2
apc.filters =
apc.gc_ttl = 3600
apc.include_once_override = Off
apc.max_file_size = 1M
apc.num_files_hint = 1000
apc.optimization = Off
apc.report_autofilter = Off
apc.shm_segments = 1
apc.shm_size = 30
apc.slam_defense = 0
apc.stat = On
apc.ttl = 0
apc.user_entries_hint = 100
apc.user_ttl = 0
apc.write_lock = On

关于APC完整的参数设置的解释,请查阅:http://www.php.net/apc。
下面是一个php.ini中的一个APC块。请将它们粘贴进你的php.ini文件中:
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64
apc.max_file_size = 10M
apc.stat=1

剩余其它的设置将会使用默认值。
设置临时目录
APC需要一个临时目录来存储文件。它会尝试在windows的临时目录缓存文件,事先请给临时目录写的权限。
监控和调优缓存

Win下如何安装PHP的APC拓展

监控和调优apc缓存
APC源包含一个php脚本,该脚本对于监控和调优性能的缓存是很有用的。
1, 下载APC监控文件:http://pecl.php.net/package/apc
2, 压缩包中的apc.php文件显示APC监控信息。
3, 运行这个文件,你会看到一个图形显示你的缓存一些统计数据。
4, 调优缓存,查看General Cache Information and Detailed Memory Usage and Fragmentation sections(总体缓存信息和详细的内存使用以及碎片部分)。
5, 监视Cache Full Count和碎片百分比,如果Cache Full Count大于0,表示缓存已满并且频繁读写,因为没有足够的内存被分配。增加apc.shm_size可解决问题。
6, 碎片百分比应该是0%,但是随着内存频繁的读写,其值会上涨。
apc.php的安全
注意apc.php的安全,应该使用安全认证的方式来控制apc.php的信息输出,比如:

// Moodle user Authentication
require_once("../config.php");
require_once($CFG--->libdir.'/adminlib.php');
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID));
// Disable APC Auth(APC 的安全认证)
defaults('USE_AUTHENTICATION',0);
//....
PHP 相关文章推荐
一段php加密解密的代码
Oct 09 PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
php array_map()数组函数使用说明
Jul 12 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
Jan 04 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
PHP下载文件的函数实例代码
May 18 PHP
PHP实现的简单异常处理类示例
May 04 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 #PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 #PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 #PHP
一个漂亮的php验证码类(分享)
Aug 06 #PHP
如何在php中正确的使用json
Aug 06 #PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 #PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 #PHP
You might like
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
phpmyadmin config.inc.php配置示例
2013/08/27 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
2015/12/24 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
性能服装:HYLETE
2018/08/14 全球购物
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
称象教学反思
2014/02/03 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
助残日活动总结
2014/08/27 职场文书
爱心捐书倡议书
2015/04/27 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
致接力运动员加油稿
2015/07/21 职场文书
工作建议书范文
2019/07/08 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python