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 相关文章推荐
消息持续发送的完整例子
Oct 09 PHP
用php将任何格式视频转为flv的代码
Sep 03 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
php生成随机密码自定义函数代码(简单快速)
May 10 PHP
php调用shell的方法
Nov 05 PHP
php如何连接sql server
Oct 16 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 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与SQL注入攻击[一]
2007/04/17 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python三元运算符实现方法
2013/12/17 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
什么是封装
2013/03/26 面试题
工商管理系学生的自我评价分享
2013/11/29 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
终止劳动合同协议书
2014/04/14 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android