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下打开URL地址的几种方法小结
May 16 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
ThinkPHP模版中导入CSS和JS文件的方法
Nov 29 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
php中mysql操作buffer用法详解
Mar 19 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 PHP
PHP count_chars()函数讲解
Feb 14 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 FPDF类库应用实现代码
2009/03/20 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
分享Python字符串关键点
2015/12/13 Python
Python解析json文件相关知识学习
2016/03/01 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
pandas数据集的端到端处理
2019/02/18 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
python3 logging日志封装实例
2020/04/08 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
J2EE系统只能是基于web
2015/09/08 面试题
教师自荐信
2013/12/10 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
电子商务专业求职信
2014/03/08 职场文书
房屋继承公证书
2014/04/10 职场文书
讲解员培训方案
2014/05/04 职场文书
总结python多进程multiprocessing的相关知识
2021/06/29 Python