服务器环境是Windows2008r2 IIS7.5,下载了最新的PHP5.6.4 VC11 nts 64位版本,配置好以后,再下载Wincache目前最新1.3.6.3 for 5.6,却怎么也配置不成功。换成php5.5.20 vc11 nts 64位版本,依然加载wincache不成功。
难道是5.6不支持wincache了?
应该不是这个原因,否则wincache就不会发布对应的这个版本了。
而服务器上的PHP5.4和5.3都能支持最新wincache 1.3.6.3。
经过分析,应该是因为wincache不支持64位版本的PHP。
PHP5.5以后提供64位和32位2种版本了。
而PHP官方只提供PHP5.4和PHP5.3的wincache下载,可能跟PHP5.5以后版本内置zend opcache有关。

因系统是64位的,为获得更好的性能,不准备把PHP5.6换成32位版本,又不能使用wincache,只好选择Opcache了。
据说Zend Opcache缓存速度比APC、eAccelerator、XCache更快,这个本人没有做过测试。
但兼容性方面应该更好,这是无需质疑的。

PHP5.6配置Zend OPCache方法:

打开php.ini,找到:[opcache],按下面PHP官方推荐的参数修改,并去掉前面的";"。

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

修改完后通过phpinfo查看是否配置成功,如果成功启用会显示opcache的相关参数。

当然,PHP5.5以下版本也可以使用opcache,到PHP官方扩展库下载即可。

ZendOpcache:http://pecl.php.net/package/ZendOpcache

需要注意的是,PHP5.4及以下版本,需要在上面配置上增加扩展库加载:

zend_extension = C:\php\ext\php_opcache.dll

Wincache 是什么

Wincache是微软和PHP合作推出的配合FastCGI模式使用的缓存加速扩展,这是一个可以显著增加PHP应用在Windows环境下使用速度的PHP加速器。所有的PHP应用都能够利用这个扩展所提供的加速功能而不需要修改任何代码。所有需要做的就是将这个扩展激活并被PHP引擎读取。
Wincache是Windows环境下PHP加速器首选,但要求PHP版本为nts(None-Thread Safe)。

PHP nts 与 ts 版本区别

从PHP5.2.10版本开始,有None-Thread Safe与Thread Safe两种版本的可供选择。
None-Thread Safe:非线程安全,在执行时不进行线程(thread)安全检查;
Thread Safe:线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
PHP的两种执行方式:ISAPI和FastCGI。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP 。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

PHP VC6、VC9与VC11 怎么选择

VC6 适用于Apache及Visual Studio 6 (Windows2003默认);
VC9 要求支持Visual C++ 2008 SP1 Redistributable Package (Windows2008默认);
VC11 要求支持Visual C++ Redistributable for Visual Studio 2012 (Windows2012默认)

目前最新的PHP5.6及PHP5.5都要求Visual Studio 2012环境。
比如windows2008需要运行 VC11编译的PHP5.6,需要安装Visual Studio 2012才行。

Visual Studio 下载

Visual C++ 2008 SP1 Redistributable Package (vc9):x86 | x64
Visual C++ Redistributable for Visual Studio 2012 (vc11):x86 | x64

标签: php, php5.6, php5.5, wincache, opcache

添加新评论