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 相关文章推荐
Cakephp 执行主要流程
Mar 24 PHP
Zend的MVC机制使用分析(二)
May 02 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
php获取文件后缀的9种方法
Mar 22 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 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 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
分享3个php获取日历的函数
2015/09/25 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
详解package.json版本号规则
2019/08/01 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python得到单词模式的示例
2018/10/15 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
家长对孩子的感言
2014/03/10 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
道德与公民自我评价
2015/03/09 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
董事长秘书工作总结
2015/08/14 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
Python获取字典中某个key的value
2022/04/13 Python