Win下如何安装PHP的APC拓展

 更新时间:2013年08月07日 09:18:57   作者:  
这篇教程我们会告诉大家如何在windows上安装APC。我已经在windows server 2003上成功测试。当然,在你也可以使用windows xp做为测试服务器
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();

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的临时目录缓存文件,事先请给临时目录写的权限。
监控和调优缓存



监控和调优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移动文件指针ftell()、fseek()、rewind()函数总结

    PHP移动文件指针ftell()、fseek()、rewind()函数总结

    这篇文章主要介绍了PHP移动文件指针ftell()、fseek()、rewind()函数总结,本文先是对它们的作用做了讲解,然后给出具体使用例子,需要的朋友可以参考下
    2014-11-11
  • php提供实现反射的方法和实例代码

    php提供实现反射的方法和实例代码

    在本篇文章里我们给各位分享了一篇关于php提供实现反射的方法和实例代码相关内容,有兴趣的朋友们参考下。
    2019-09-09
  • PHP实现数组根据某个单元字段排序操作示例

    PHP实现数组根据某个单元字段排序操作示例

    这篇文章主要介绍了PHP实现数组根据某个单元字段排序操作,结合实例形式分析了php基于array_multisort函数降序排序操作相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • Yii使用queue实现队列流程讲解

    Yii使用queue实现队列流程讲解

    Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具yiic可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发
    2022-11-11
  • PHP简单判断手机设备的方法

    PHP简单判断手机设备的方法

    这篇文章主要介绍了PHP简单判断手机设备的方法,涉及php基于服务器预定义变量进行判断操作的相关技巧,需要的朋友可以参考下
    2016-08-08
  • PHP判断数据库中的记录是否存在的方法

    PHP判断数据库中的记录是否存在的方法

    这篇文章主要介绍了PHP判断数据库中的记录是否存在的方法,通过mysql_num_rows对查询结果进行判断来实现这一功能,非常实用,需要的朋友可以参考下
    2014-11-11
  • PHP基于PDO扩展操作mysql数据库示例

    PHP基于PDO扩展操作mysql数据库示例

    这篇文章主要介绍了PHP基于PDO扩展操作mysql数据库,结合实例形式分析了php使用pdo扩展针对mysql数据库的查询、插入、修改等操作实现技巧,需要的朋友可以参考下
    2018-12-12
  • php中mkdir()函数的权限问题分析

    php中mkdir()函数的权限问题分析

    这篇文章主要介绍了php中mkdir()函数的权限问题分析,需要的朋友可以参考下
    2016-09-09
  • 谈谈新手如何学习PHP网络编程

    谈谈新手如何学习PHP网络编程

    最近用到了php,虽然php的好的都不懂,也只是做一些简单的修改和书写很少的代码,但感觉php的功能真的很强
    2008-05-05
  • PHP文件运行步骤以及数据库的连接代码

    PHP文件运行步骤以及数据库的连接代码

    PHP经常搭配MySQL来使用,那么PHP怎样连接MySQL数据库呢?这篇文章主要给大家介绍了关于PHP文件运行步骤以及数据库连接的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-11-11

最新评论