Windows 2008 R2下如何进行Wincache安装与配置教程

微软新推出了配合FastCGI模式使用的WinCache扩展,这是一个可以显著增加PHP应用在Windows环境下使用速度的PHP加速器。所有的PHP应用都能够利用这个扩展所提供的加速功能而不需要修改任何代码。所有需要做的就是将这个扩展激活并被PHP引擎读取。与eAccelerator正好相反的是WinCache要求使用NTS(非线程安全)版本的PHP,因此更适合与FastCGI配合使用。

WinCache扩展包括了三种不同种类的缓存使用,下面将要分别介绍这三种缓存和他们所能提供的便利。

•PHP操作码缓存
PHP是一个脚本运行引擎,他读入包含文字和PHP指令的输入数据流,再输出另一个通常是HTML格式的数据流。这就是说在一个服务器上,每当网络用户需要,PHP引擎就会读入、解析、编码和执行某个脚本。而这种读入、解析和编码会给服务器的CPU和文件系统增加额外的负担,因此会影响到PHP脚本的整体运行。PHP操作码缓存就是用来把编码后的脚本字节码储存在内存中从而能让PHP引擎在后来对同一脚本的操作中重复使用。
•文件缓存
除了使用操作码缓存,PHP引擎还需要从文件系统里读取脚本文件。当PHP脚本储存在一个远程的UNC(统一命名约定)文件共享中,文件操作会出现一个显著的动作。Windows缓存扩展包括了一个文件缓存来在内存中储存PHP脚本文件的内容,这样就减少了PHP引擎的文件操作数量。
•相对路径缓存
PHP脚本经常会引用或使用通过相对路径访问的文件。而每一个相对路径都必须被PHP引擎转化成绝对路径才能够使用。当一个PHP应用通过相对路径访问很多的PHP文件,将相对路径转化成绝对路径的工作就会对应用的运行产生消极影响。Windows缓存扩展提供了专门针对相对路径的缓存,可以将相对路径到绝对路径的转换地图储存起来,从而减少了相对路径的总转化量。

安装方法:
这个扩展有两个安装包:一个是针对5.2.X 版本的PHP,另一个是针对PHP 5.3.X。
1. 打开适合你的PHP版本的安装包
2. 将php_wincache.dll文件复制到PHP扩展的文件夹。通常这个文件夹叫做“ext”,和所有的PHP二进制文件在一个文件夹下。比如:
“C:\Program Files\PHP\ext”
3. 用文本编辑器打开php.ini文件,位置同上。比如:
“C:\Program Files\PHP\php.ini”
4. 在上面这个文件的最后加上这么一行:
Extension=php_wincache.dll
5. 保存并关闭php.ini。
6. 将你的服务器的应用库重启以读取配置的变化。

配置要求:
此扩展只能在以下的配置上运行:
Windows 版本:
• Windows XP SP3 with IIS 5.1 and FastCGI Extension
• Windows Server 2003 with IIS 6.0 and FastCGI Extension
• Windows Vista SP1 with IIS 7.0 and FastCGI Module
• Windows Server 2008 with IIS 7.0 and FastCGI Module
• Windows 7 with IIS 7 and FastCGI Module
• Windows Server 2008 R2 with IIS 7.0 and FastCGI Module

PHP版本:
• PHP 5.2.X, Non-thread-safe build
• PHP 5.3 X86, Non-thread-safe VC9 build
注意:此扩展只能在服务器通过FastCGI运行PHP的情况下使用,PHP的版本必须是NTS(非线程安全)的。WinCache加速器安装与配置,Wincache1.1.0 for5.3,这个大家可以去微软IIS官方下载,他将极大地提高您的PHP系统运行效率!如果您的服务器运行的都是开源程序,不需要zend,强烈建议您使用这个配置!

打开以下网址,下载Wincache模块

http://www.iis.net/downloads/microsoft/wincache-extension


同样们把网页拉到最下面找到:Download WinCache

并下载 WinCache 1.1 for PHP 5.3 – x86 ,这个文件,这里一定要注意,Wincache版本要与PHP版本相对应,我们在这里采用的是PHP 5.3.21 所以我们选择这WinCache 1.1 for PHP 5.3 – x86 这个进行下载。

下载完成后,发现wincache-1.1.0-5.3-nts-vc9-x86.exe,这个文件是个EXE文件,先不要急于打开,我们解压它

解压wincache-1.1.0-5.3-nts-vc9-x86.exe这个文件后,可以发现里面有一个 php_wincache.dll


在这里,我们需要把php_wincache.dll这个文件复制到 “D:\Server\php\ext” 目录下

然后我们再打开IIS管理器,打开PHPManager管理软件

点击Enable or disnable an extension,开启php_wincache 功能

拉到最下面,找到php_wincache.dll ,右键Enable 就可以启用php_wincache了

下面为大家继续分享一些资料:

Windows Cache Extension APIs for PHP

若 PHP 开发人员想要利用 Windows Cache Extension for PHP 快取应用程式资料时,Windows Cache Extension 有提供数组 API 可供开发人员与 Windows Cache Extension 互动,包含储存快取资料、取得系统的快取状态等。
1. 将 session 存放到 Windows Cache 中。

在 PHP 的预设模式中,session 资料是储存在档案中,Windows Cache Extension for PHP 开放一个设定,让 PHP 可以将 session 储存到记忆体中,以加快 Session 存取的速度,只要修改 php.ini 中的 session.save_handler 即可:

[Session]
; Headler used to store/retrieve data.
; session.seve_handler = files <- original configuration
session.save_handler = wincache <- apply session store into Windows Cache Extension

Windows Cache Extension 针对 Session 的转存功能目前在 1.1 版以上才支援。

然后重新启动IIS服务器。这个时候WinCache加速器已经安装完毕!

以下资料说明来源于微软台湾官方网站!
地址:http://www.microsoft.com/taiwan/technet/iis/expand/Windows_Cache_Extension_for_PHP.aspx

设定值 说明 预设值
wincache.fcenabled 启用档案快取。 1
wincache.fcenabledfilter 要使用档案快取的 IIS 站台识别码,若有多组时以逗号分隔。 NULL
wincache.fcachesize 档案快取的最大记忆体使用量(MB) 24
wincache.fcndetect 是否要启用档案变更侦测(在 Opcode Cache 时会判断档案是否有变更而清除 Opecode Cache)。 1
wincache.maxfilesize 可放进快取的最大单一档案大小(KB) 256
wincache.ocenabled 是否启用 Opcode Cache 1
wincache.ocenabledfilter 要使用 Opcode Cache 的 IIS 站台识别码,若有多组时以逗号分隔。 NULL
wincache.ocachesize Opcode Cache 的最大记忆体使用量(MB) 96
wincache.filecount 定义预期要快取的最大档案数量,可在 PHP 初始化时预先配置好,但若实际超出此数量时,PHP 会重新配置。 4096
wincache.chkinterval 定义 PHP 检查快取的週期(秒)。 30
wincache.ttlmax 设定快取在不使用时,存留的最长时间(秒)。 1200
wincache.enablecli 设定是否启用指令列(Command Line)模式 0
wincache.ignorelist 设定哪些档案不列入快取,若有多档时,要使用管线符号”|”来分隔。 NULL
wincache.namesalt 设定一个 salt 值以避免使用者快取时设定的 key 值有碰撞的现象。 NULL
wincache.ucenabled 是否启用使用者快取。 1
wincache.ucachesize 设定使用者快取的最大记忆体使用量(MB)。 8

设定完后都要重新回收PHP应用程式的集区,或是重新启动 IIS 才会生效。

类型 开启或关闭 分配多少内存 最大数
文件缓存 fcenabled= 1 /0 fcachesize= 128M 单个最大文件maxfilesize
操作码缓存 ocenabled =1/ 0 ocachesize= 128M 最多文件数filecount 4096
路径缓存
session缓存 scachesize
ucenabled ucachesize

wincache.fcenabled= 1 (On) 0 (Off) 启用或关闭文件缓存功能
wincache.fcachesize= 128M 定义为文件缓存分配的最大内存空间(以兆字节计算)。如果总的缓存文件的大小超过设定值,那么大部分陈旧的文件会被从文件缓存中剔除。
wincache.maxfilesize =256M 定义单独一个待缓存的文件的大小。如果文件大小超出 这个值,将不被缓存。这个设定仅限于文件缓存。
wincache.ocenabled =1 (On) 0 (Off)开启或关闭操作码缓存功能
wincache.ocachesize= 128M 定义为操作码缓存分配的最大内存空间
wincache.filecount 4096 1024 16384 定义多少文件会被缓存,这样就能在一开始就分配内存空间。如果文件个数超过预设值,扩展会根据需要重新分配更多的内存空间。
wincache.chkinterval= 30 2 300 PHP_INI_SYSTEM 定义每隔多久(按秒计算)本扩展会检查文件变化来更新缓存
wincache.ttlmax 1200 60 7200 定义缓存中的入口在不被使用情况下最大的存在时间。
wincache.ignorelist 定义一系列不应被本扩展缓存的文件。文件列表只能以文件名的形式指定文件,并以“|”间隔。For example: wincache.ignorelist = "index.php|misc.php|admin.php"
wincache.namesalt no value no value no value PHP_INI_SYSTEM 定义一个字符串,在给内存中的被缓存物命名时使用。这么做是为了防止当服务器中其他的应用试图使用共享内存时发生错误。

注意事项:wincache 和zendloader冲突,所以二者只能选其一,由于 wincache是内存级优化,速度自然比 zendloader快很多,这个根据具体配置选择。如何程序需要zend加密解密 然后又要用wincache的话 那只能关闭wincache的文件缓存功能了。

(0)

相关推荐

  • win2003安装wincache的步骤分享加速php运行

    注意:一般情况下我们的win2003都是isapi方式运行的,这个时候安装zend就可以了.如果是fastcgi的可以通过wincache.一般win2008系统中使用的多. 很少有站长喜欢用windows运行php,不管是iis 6,还是iis 7,实际上运行php的速度都不咋样,远比不过在linux下面运行php的速度:不过,如果要同时兼容asp/php/jsp等,那么只好用windows服务器.虽然windows运行php的速度不咋样,不过如果能够加速php的运行,好比使用wincache

  • Win2008 R2配置IIS7.5+PHP Manager+PHP5.3+Mysql5.5+Wincache

    早就听说最新的Windows Server 2008+IIS下边跑PHP并不比Linux差很多,而且微软已经和ZEND合作,专门针对IIS推出了FastCGI的支持,并且在IIS7.0之后就将FastCGI集成在IIS中,还有PHP的配置工具PHP Manager,所以在2008 server下边配置PHP已经非常简单了,另外微软还另外推出了对PHP加速的软件WinCache,效果还是很不错的. 第一步:下载所有搭建环境需要的程序. (1.1)PHP下载地址: http://windows.ph

  • php5.3中ZendGuardLoader与wincache冲突问题的解决方法

    windows环境下,php5.3版本同时开始ZendGuardLoader和wincache的话,会导致zend加密过的部分文件会无法正常运行,提示"Zend Guard Run-time support missing!". 问题重现:从应用中心安装需要zend支持的插件时,校验文件(经过zend加密过的单一文件)正常,也能通过应用中的校验并下载插件,但在安装插件时就会出现上面说到那些提示. 问题分析:zend与wincache冲突 解决方法: 关于wincache: 在php.i

  • Windows 2008 R2下如何进行Wincache安装与配置教程

    微软新推出了配合FastCGI模式使用的WinCache扩展,这是一个可以显著增加PHP应用在Windows环境下使用速度的PHP加速器.所有的PHP应用都能够利用这个扩展所提供的加速功能而不需要修改任何代码.所有需要做的就是将这个扩展激活并被PHP引擎读取.与eAccelerator正好相反的是WinCache要求使用NTS(非线程安全)版本的PHP,因此更适合与FastCGI配合使用. WinCache扩展包括了三种不同种类的缓存使用,下面将要分别介绍这三种缓存和他们所能提供的便利. •PH

  • Windows 2008 R2 下IIS7.5+PHP5.2环境配置(FastCgi设置)

    准备篇 1. 相关软件下载地址: Microsoft Visual C++ 2008 Redistributable Package (x86) 下载地址:http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe PHP5.2下载地址:http://museum.php.net/php5/php-5.2.17-Win32.zip  (注:php5.2没有vc

  • Windows操作系统下Linux虚拟机的安装与配置教程图解

    前言 在工作中,经常需要在Linux环境下操作,这里记一下win10系统中创建安装和配置Linux的操作系统的过程. 资源下载 1.虚拟机VMware VMware可以去官网下载.这里用的是VMware-player-15.5.0版本,下载完安装到电脑上. 链接: https://pan.baidu.com/s/1LWhDtRsYMIWGUs91xp-vlQ 提取码: kkrt 2.镜像系统Ubuntu 镜像也可以去Ubuntu官网下载.这里用的是Ubuntu18.04 64位操作系统.对于入门

  • 详解CentOS7下PostgreSQL 11的安装和配置教程

    1. 官网地址 官网上提供了安装参考步骤:点击此处查看官网 2. 安装RPM yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 3. 安装客户端 yum install postgresql11 4. 安装服务器端 yum install postgresql11-server 5. 安装依赖包 yum install

  • IIS7.0 Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站的教程图文详解

    配置环境 Windows版本:Windows Server 2008 R2 Enterprise Service Pack 1 系统类型: 64 位操作系统 了解HTTPS 为什么需要 HTTPS ? 在我们浏览网站时,多数网站的URL都是以HTTP开头,HTTP协议我们比较熟悉,信息通过明文传输; 使用HTTP协议有它的优点,它与服务器间传输数据更快速准确; 但是HTTP明显是不安全的,我们也可以注意到,当我们在使用邮件或者是在线支付时,都是使用HTTPS; HTTPS传输数据需要使用证书并对

  • Windows Server 2008 R2 下配置证书服务器和HTTPS的图文教程

    前言 2017年1月1日起App Store上的所有App应用将强制开启ATS功能. 苹果的ATS(App Transport Security)对服务器硬性3点要求: ① ATS要求TLS1.2或者更高,TLS 是 SSL 新的别称. ② 通讯中的加密套件配置要求支持列出的正向保密. ③ 数字证书必须使用sha256或者更高级的签名哈希算法,并且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC密钥. 配置环境 Windows版本:Windows Server 2008 R2 E

  • windows server2012 R2下安装PaddleOCR服务的的详细步骤

    目录 1.安装python 2.安装PaddlePaddle CPU 版本 3.安装 paddlehub 4.从github下载 PaddleOCR 5.下载推理模型库 6.修改模型配置文件 7.启动 ocr_system 服务 8.测试 ocr_system 服务 1.安装python 安装的时候要注意一点,现在暂不支持3.9或以上版,所以建议下载3.8.8版本::下载地址:https://www.python.org/ftp/python/3.8.8/python-3.8.8-amd64.e

  • Windows 2008 R2 用PHP Manager for IIS 配置PHP(FastCGI)环境

    由于微软已逐步开始重视PHP ON Windows的应用,相继推出了Microsoft Web Platform,PHP Manager等IIS平台工具,x86和x64系统均可使用,再也不用为在IIS上配置PHP而烦恼了,PHP Manager用途如下: *关联PHP和IIS *并列运行多个PHP版本在同一台服务器上,甚至在同一网站 *检查PHP运行时配置和环境(的phpinfo()函数的输出) *配置各种PHP设置 *启用或禁用PHP扩展 *远程管理php.ini PHP配置文件 所以一直想体

  • Windows 2008 R2服务管理器刷新失败的解决方法

    这几天在做实验,一台服务器安装了Windows 2008 R2 X64系统,当我想安装服务器角色的时候,发现无法安装,出现了"服务器刷新失败",点击它弹出对话框提示"刷新服务器管理器时出现意外错误: 异常来自 HRESULT:0x800F0818.有关详细信息,请参阅事件日志: 诊断.事件查看器.应用程序和服务日志.Microsoft.Windows.服务器管理器.操作" 然后我就查看日志,日志内容如下: 无法发现系统的状态.找到一个意外的异常: System.Ru

  • windows server 2008 64位MySQL5.6免安装版本配置方法图解

    1 通过官网下载MySQL5.6版本压缩包,mysql-5.6.36-winx64.zip: 2 在D盘创建目录,比如D:\MySQL,将mysql-5.6.36-winx64.zip解压缩到该目录下,如下图所示: 3 修改系统Path变量,增加D:\MySQL\bin,如下图所示: 4 以管理员身份运行cmd,切换到D:\MySQL\bin目录, 安装服务mysqld –install 启动服务net start mysql 服务启动成功之后,通过mysql命令行登录 Mysql –u roo

随机推荐