MyException - 我的异常网
当前位置:我的异常网» PHP » windows上PHP APC拓展的安装和配置

windows上PHP APC拓展的安装和配置

www.MyException.Cn  网友分享于:2015-08-26  浏览:163次
windows下PHP APC拓展的安装和配置

 

APC简介

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

这篇教程我们会告诉大家如何在windows上安装APC。我已经在windows server 2003上成功测试。当然,在你也可以使用windows xp做为测试服务器。

windows下安装PHP的APC拓展

注意:你不能在一天服务器上同时安装APC和Zend Optimiser,二者只能选其一。

按照下面的方法安装PHP的APC拓展。

下载正确的版本

我是用的PHP版本是5.2.6,附上下载地址:php_apc_dll for php5_2_6

注意:确定你所下载的APC拓展版本对应了你的PHP版本。

设置php.ini

编辑php.ini文件,向其中的拓展区域部分添加如下代码

1 extension = php_apc.dll

重启服务器,使用phpinfo查看是否成功安装

1 phpinfo();
phpinfo查看apc拓展是否安装成功

查看可用的内存

创建一个php文件apcmeminfo.php

1 print_r(apc_sma_info());

 

 

1 //由缓存使用的内存数量使用这个公式来计算:
2 total_memory = apc.shm_segments * apc.shm_size

在这个例子中,可用的内存大约32 Mb。通常,如果我们需要在我们的缓存中超过32 Mb,我们应该增加APC使用的分段数量。然而,这可以导致web服务器错误,因此最好是增加片断的大小。我们应该逐步为缓存增加可用的总量,以避免内存的流失。

默认的APC如下:

1 apc.cache_by_default = On
2 apc.enable_cli = Off
3 apc.enabled = On
4 apc.file_update_protection = 2
5 apc.filters =
6 apc.gc_ttl = 3600
7 apc.include_once_override = Off
8 apc.max_file_size = 1M
9 apc.num_files_hint = 1000
10 apc.optimization = Off
11 apc.report_autofilter = Off
12 apc.shm_segments = 1
13 apc.shm_size = 30
14 apc.slam_defense = 0
15 apc.stat = On
16 apc.ttl = 0
17 apc.user_entries_hint = 100
18 apc.user_ttl = 0
19 apc.write_lock = On

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

1 apc.enabled = 1
2 apc.shm_segments = 1
3 apc.shm_size = 64
4 apc.max_file_size = 10M
5 apc.stat=1

剩余其它的设置将会使用默认值。

设置临时目录

APC需要一个临时目录来存储文件。它会尝试在windows的临时目录缓存文件,事先请给临时目录写的权限

监控和调优缓存

 



 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的信息输出,比如:

1 // Moodle user Authentication
2 require_once("../config.php");
3 require_once($CFG--->libdir.'/adminlib.php');
4 require_login();
5 require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID));
6  
7 // Disable APC Auth(APC 的安全认证)
8 defaults('USE_AUTHENTICATION',0);
9 //....

文章评论

不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
旅行,写作,编程
旅行,写作,编程
鲜为人知的编程真相
鲜为人知的编程真相
老程序员的下场
老程序员的下场
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
编程语言是女人
编程语言是女人
 程序员的样子
程序员的样子
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
代码女神横空出世
代码女神横空出世
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员的鄙视链
程序员的鄙视链
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
一个程序员的时间管理
一个程序员的时间管理
Java程序员必看电影
Java程序员必看电影
程序员必看的十大电影
程序员必看的十大电影
如何成为一名黑客
如何成为一名黑客
漫画:程序员的工作
漫画:程序员的工作
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
每天工作4小时的程序员
每天工作4小时的程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
我的丈夫是个程序员
我的丈夫是个程序员
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
中美印日四国程序员比较
中美印日四国程序员比较
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
10个调试和排错的小建议
10个调试和排错的小建议
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
那些争议最大的编程观点
那些争议最大的编程观点
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
我是如何打败拖延症的
我是如何打败拖延症的
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
总结2014中国互联网十大段子
总结2014中国互联网十大段子
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为什么程序员都是夜猫子
为什么程序员都是夜猫子
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有