首页 > 系统相关 >windows下PHP APC拓展的安装和配置

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

时间:2023-01-01 18:01:37浏览次数:42  
标签:缓存 windows apc APC PHP shm php

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 //....


标签:缓存,windows,apc,APC,PHP,shm,php
From: https://blog.51cto.com/u_3457306/5983191

相关文章

  • 10个你可能从未用过的PHP函数
    1.sys_getloadavg()sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。与其让服务器因高......
  • 深入PHP使用技巧之变量
    众所周知,PHP与其他脚本语言一样,属于弱变量类型的语言。同时PHP本身也是通过C语言来实现。本文主要介绍PHP内部是如何实现弱变量类型的,并且据此分析在PHP开发中需要注意的一......
  • CVE-2022-26923 Windows域提权漏洞
    前言ActiveDirectory域服务,是一种目录服务,提供了存储目录数据信息以及用户相关的一些密码,电话号码等等一些数据信息,且可让用户和管理员使用这些数据,有利于域管理员对用......
  • thinkphp5框架使用总结
    一.路径访问方式http://网址/index.php/模块/控制器/操作.html其中:1.模块就是application下的一个文件夹2.控制器就是这个文件夹下面controler里的一个php文件3.操作就是......
  • 新年快乐!体验Windows7黄金版,祝你2023财源广进!
    新年快乐!体验Windows7黄金版,祝你2023财源广进!首先,开机画面表示出它的土豪,并说明,它并不来自Microsoft。然后:它是2016年出现的。改成64位的。然后许可:自定义:选分......
  • PHP_EOL
     换行符unix系列用 \nwindows系列用 \r\nmac用 \rPHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性​​php​​    echo PHP_EOL;    //wi......
  • 联想小新+Windows10+Ubuntu18.04双系统安装+引导设置过程全记录
    写在前面双系统安装配置主要过程引导设置主要参考Ubuntu卸载需要的工具具体步骤情况一情况二主要参考后记2020.5.29更新关于卸载关于主题的配置写在前面又是折腾的一天,双系......
  • Linux 或 Windows 安装 Kafka,示例实现生产与消费消息(一)
    下载:wgethttps://downloads.apache.org/kafka/3.3.1/kafka_2.12-3.3.1.tgz  注意:kafka正常运行,必须配置zookeeper,kafka安装包已经包括zookeeper服务解压:tar-zxvf k......
  • buuctf-web-[极客大挑战 2019]PHP 1
    知识点:文件备份、反序列化打开网站后发现源码没有提示,页面提示“备份的好习惯”,用御剑扫后台,扫出www.zip,打开发现有几个php文件打开index.php发现关键代码<?phpin......
  • Windows 安装以及配置Nginx
    1、windows下安装Nginx1.1从nginx官网下载相应的安装包:​​http://nginx.org/​​ 1.2建议下载 下载稳定版1.3解压到相应的目录,比如我是e盘然后修改目录名字为nginx......