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函数的常用方法及注意之处小结
Jul 10 PHP
PHP防CC攻击实现代码
Dec 29 PHP
解析thinkphp中的M()与D()方法的区别
Jun 22 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 PHP
PHP简单实现二维数组赋值与遍历功能示例
Oct 19 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 PHP
php输出形式实例整理
May 05 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实现无限级分类(不使用递归)
2015/10/22 PHP
可以将word转成html的js代码
2010/04/11 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
jquery easyui使用心得
2014/07/07 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
Python兔子毒药问题实例分析
2015/03/05 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
怎样自定义一个异常类
2016/09/27 面试题
信仰纪录片观后感
2015/06/08 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL