由于微软已逐步开始重视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配置文件
所以一直想体验下PHP for IIS7.5,下面分享下在WIN7 IIS7.5上应用PHP Manager安装配置PHP5的心得和感受。
我在Win 2008 R2上使用的是Microsoft Web Platform安装PHP Manager和PHP的,首先介绍下Microsoft Web Platform这个平台(也可以不安装Microsoft Web Platform)。
Microsoft Web Platform是微软整合开发语言以及应用程序的平台,通过Microsoft Web Platform Installer可以安装配置诸如ASP.NET、PHP等开发平台以及相应的WEB应用,说白点有点类似软件商店。
1、从微软官方网站下载Microsoft Web Platform 3.0并安装(可选):
官方下载地址:
http://www.microsoft.com/web/
http://www.microsoft.com/web/downloads/platform.aspx
默认安装路径为:C:\Program Files\Microsoft\Web Platform Installer
2、通过Microsoft Web Platform搜索下载或单独下载最新的PHP Manager for IIS并安装:
下载地址:http://phpmanager.codeplex.com/releases/view/53121
3、通过Microsoft Web Platform搜索下载或单独下载最新的PHP 。
PHP官方网站下载地址:
http://windows.php.net/download/
微软官方通过WEB安装平台安装PHP地址:
http://www.microsoft.com/web/platform/phponwindows.aspx
windows 2008 R2 下面IIS7.5已经对fastcgi的支持有了很大改进,PHP 5.3发布的Windows版已经不支持ISAPI模式了,因为FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力,并具有更高的稳定性和安全性,我们不建议朋友们再使用PHP-ISAPi模式。
本次环境搭建所有版本均经过多次测试保证无误!鉴于目前很多程序对php5.3.1支持的都不错,如果不是老版本,建议使用php5.3及以上版本,例如php 5.5 是目前不错的选择。下面呢还是以php5.2.17,使用较多的版本做个示例。
大家在安装php版本的时候,应该考虑的是你使用的php程序对应支持的php版本。
windows2008 R2下面环境搭建分两种情况 大家可以根据自己的运行需要选择!
1 IIS7.5+PHP+Mysql+Wincache 1.0RC
这个环境组合大家已经看出来了 没有zend,
各个版本分别是:
PHP5.2.11--请注意是非线程安全(Non Thead Safe)版本 PHP 5.2.17 Non-thread-safe zip package,
MYSQL5.0 x64(mysql数据库多数可以用x64位,因为系统就是64位的),
Wincache1.1 for5.2,这个大家可以去微软IIS官方下载,他将极大地提高您的系统运行效率!
下载地址:http://www.iis.net/downloads/microsoft/wincache-extension
如果感觉下载麻烦,可以到跟版网下载wincache(请注意诱导广告)
如果您的服务器运行的都是开源程序,不需要zend,强烈建议您使用这个配置!
2 IIS7.5+PHP+Mysql+Zend+Xcache
此组合版本分别是
PHP5.2.17 请注意是线程安全(Thead Safe)版本:PHP 5.2.11 zip package
MYSQL5.0 x64,
ZendOptimizer3.3.3-windows x86
Xcache1.3 for XCache-1.3.0-php-5.2.10-Win32-VC6-x86.zip
此组合可以完美运行当今主流的PHP系统,但是美中不足的是使用PHP线程安全版本无法加载wincache,很遗憾的一点!但是可以用xcache作为补充,但是相比PHP-ISAPI模式已经好多了!
注意:
官网已经注明,VC9的版本是给IIS用的,VC6的版本是给Apache用的。之所以要这样区分,是因为VC9版本是用Visual Studio 2008编译的,编译器对程序进行了更多的优化,因而性能较好。至于Thead Safe(线程安全)/Non Thead Safe(非线程安全),官网并没有说明各自用途何在。Google了一番以后,我找到了答案:FastCGI是单线程执行的,因而不需要线程安全版本,去掉线程安全的防护后可以提高执行效率;而ISAPI方式则是多线程模式,所以需要采用线程安全版本。
说明:
下载的php是x86版,而Win2008 R2是64位系统,应该用x64版,但PHP官方不提供x64版,就用的x86版,不行再换。php 5.3的VC9版本需要先安装VC2008运行库(32位/64位)。
FastCGI模式下快速安装PHP的教程可以到这里观看:
Windows 2008R2自带环境了IIS7.5 自带已集成了FastCGI模块,所以只要安装时只要勾选上CGI模块后,即可装上FastCGI。
4、设置PHP Manager for IIS 1.2
在这里懒得抓图了,大家对照一下自己的系统就可以了
然后选择 PHP Manager ,点击 ”Register new PHP version” ,选择你的PHP解压目录
配置
解压php到C盘根目录。
打开IIS7进行PHP Manager进行配置
单击“Register new PHP version”,弹出框中浏览选择“php-cgi.exe”
出现黄色警告,可以点击“View Recommendations” 按照推荐设置进行修改
"Check phpinfo()" 测试php支持情况。很方便查看具体配置信息:
解决办法:安装Visual C++ 2008 X64运行库
注意:Visual C++ 2008,请根据操作系统进行选择x86,x64,不同版本不通用!!!
设置错误报告
设置PHP运行限制
设置PHP.ini
php加载项的设置
好了,测试一下吧,新建一个记事本,内容为:
<?php
phpinfo();
?>
另存为Info.php,然后打开其网页文件。
5.安装MySQL
下载MySQL for Windows 5.1.57 x64安装包,安装完成后按配置向导做好配置。
再自己动手把data文件夹挪移一下位置,修改方式如下:
1.停止mysql,在命令窗口中输入并运行:net stop mysql 即可;
2.把"C:\programdata\MySQL\MySQL Server 5.1\Data\" 里的Data文件夹剪切到目的地,这里设定为D:\Mysql5.1\data
3.修改Mysql安装目录下的my.ini文件,找到其中关于“datadir=”的代码,把datadir改成 datadir="D:\MySQL5.1\data\"
4.启动mysql,在命令窗口中输入并运行:net start mysql 即可;
6.安装Wincache
微软在推出了Windows Server 2008后,对PHP进行了很大优化,还发布了WinCache在在Windows下对PHP进行加速的软件,效果显著。在一些测试中,WinCache的得分比eaccelerator和Xcache得分都要好。
WinCache可以在微软的IIS官方网站上下载到,只支持FastCGI运行模式下,Non Thread Safe版本的PHP。
WinCache下载地址:http://www.iis.net/download/WinCacheForPhp
配合FastCGI模式安装教程的WinCache版本在右上角:如下图:
安装WinCache: 点击下载下来的exe文件,点'YES',然后出现一个路径选择框,选择解压到您的PHP安装目录下的ext文件夹即可。例如:C:\Program Files\PHP\ext
然后打开PHP.INI文件,例如C:\Program Files\PHP\php.ini ,在最底下加入一行:extension = php_wincache.dll
再重启IIS即可。
WinCache安装成功后会在PHPINFO页面显示出来。如下图:
特别说明:
1、在Win 2008上安装配置PHP之前,你首先需要安装配置好IIS7.5,并选上安装CGI ,否则可能导致PHP安装时不成功。
2、在选择下载PHP Manager时,PHP Manager有32和64位两个版本,win 2008 R2系统是64位,建议下载64位版本。