作为一名PHP爱好者,我与PHP的交情不浅,作为电脑技术爱好者,平时在工作学习生活中与windows几乎是一日不见如隔三秋。目前很多中小企业都拥有自己的服务器,都有自己的小型ERP、OA、CRM系统,一般这些系统都架构在Windows Server + IIS + MsSQL + ASP上,也有使用php作为前端语言的。由于PHP在网站上的大量应用,很多企业的网站是基于PHP的。为了成本考虑,基本上都采用了PHP on Windows的解决方案。而更多的是将PHP整合在IIS上。
下面分享一下在PHP在IIS上的配置的两种最常见方式,也是我最经常使用的配置PHP环境的方式,出于各种考虑我选择的是XAMPP集成环境,其自带了Apache、PHP和MySQL以及一些常用工具包。当然在Windows的IIS环境下安装PHP,我并没有使用其中的Apache作为应用服务器。IIS下安装PHP,一种是ISAP方式,适用于 PHP5.3之前的版本;一种是FastCGI方式,适用于PHP5.3版本(PHP5.3之前的版本也可以用FastCGI,PHP5.3后ISAP方式目前不支持)。
一、ISAP方式的PHP on Windows
案例:365数码在线
环境:Windows Server 2003 + PHP5.2 + IIS6
软件:xampp 1.6.5
安装:
1、下载xampp,并解压到D:\xampp。
2、运行xampp的安装程序setup.bat,一路回车。
3、由于要采用mysql数据库,打开xampp控制面板,将mysql注册为windows系统服务,并自动运行。
4、运行一下apache,并打开localhost看一下phpinfo是否正常。一切正常的话phpinfo会显示。正常后停止apache。(这是一个测试手段,目的为了证明php及mysql不存在问题。)
5、设置支持PHP运行的环境变量,就是那个N多人在学习JAVA时又爱又恨的%PATH%。(如图)。(其实很多程序语言或运行环境都要设置PATH,图个方便。比如著名的ZendFramework的zf.bat。)
6、至此前期工作完成。启动IIS。进行PHP on Windows的IIS配置。
7、将php.ini拷贝到%windir%(大家应该能看懂这个环境变量吧,%windir%代表windows系统目录,一般是C:\Windows)下。
8、要使PHP能正常的运行在IIS的ISAPI方式下。首先要做的是把为IIS添加PHP扩展。(如图)。当看到“PHP ISAPI扩展”前绿色的勾勾时,恭喜你安装成功。
9、IIS有了PHP ISAPI扩展支持,并不代表网站就能直接支持PHP,我们还需要更多的设置以使网站支持PHP。接下来,要对网站进行PHP支持设置。打开需要PHP支持的网站。(如图)。按“主目录”→“配置”→“应用程序配置”→“映射”→“添加”→“浏览”→找到PHP ISAPI所在→“确定”将PHP扩展加入映射。
10、重启IIS服务,进入网站的“ISAPI筛选器”,若看到一绿色的向上箭头,(如图)恭喜你,你的网站已支持PHP。
11、接下将index.php加入“默认文档”。(如图)启用父目录支持(如图)。
12、如果不能正常访问。请确认你是否开启了防火墙上的网络端口。及目录权限是否开放给IIS进程用户等。
13、至此PHP在IIS及网站上的设置已完成,接下来测试这个PHP on Windows的网站是否运行正常。建立一个phpinfo文档,并通过网站网址访问。正常的话你就可以看到下图了。
提示:
1、设置PATH环境变量很重要,一般情况都是因为环境变量不正确引起的。
2、除非特殊情况,不建议何必php.ini,及IIS的上传最大附件限制等系统默认参数。
3、目录权限问题是困扰PHP应用程序运行的常见问题之一,可以通过设置IIS的网站默认访问用户来解决。
二、FastCGI方式的PHP on Windows
案例:千岛群英
环境:Windows Server 2003 + PHP5.3 + IIS6
软件:xampp 1.7.1
安装:
1、FastCGI方式安装PHP同样需要先安装和设置PHP。照ISAPI方式的1到5步,完成前期设置。(千岛群英的xampp安装位置在D:\Program Files\xampp)
2、由于PHP5.3不再提供ISAPI方式在IIS安装PHP。我们需要用FastCGI方式使得IIS支持PHP。首先要做的就是下载FastCGI For IIS6(下载地址http://www.weste.net/2011/6-2/FastCGI-for-IIS.html)。
3、下载完成后,双击运行,很快就安装了FastCGI for IIS6。
4、打开%windir%\system32\inetsrv可以看到多出来以fcgi打头的五个文件,就是我们最可爱的FastCGI扩展。
5、参照“PHP ISAPI”扩展的安装方法,安装“FastCGI Handler”。(选择的文件是:%windir%\system32\inetsrvfcgiext.dll。)
6、打开fcgiext.ini为PHP配置FastCGI支持。在其中加入
[Types]
php=PHP
[PHP]
ExePath=D:\Program Files\xampp\php\php-cgi.exe
7、修改D:\Program Files\xampp\php\php.ini
extension_dir = "D:\Program Files\xampp\php\ext"
fastcgi.impersonate = 1
8、参照ISAPI方式的第9步,将网站设置为支持PHP。(选择的文件是:%windir%\system32\inetsrvfcgiext.dll)
9、参照ISAPI方式10、11、12步完成后续步骤。
10、编写一个phpinfo来测试一下。正常的话你就可以看到下图了。
提示:
1、xampp1.7.1选择的是VC6编译的PHP。网络上指出安装IIS上的PHP需要VC9编译的。但我在安装发现VC6编译的PHP同样可以支持IIS环境。
2、建议各位掌握FastCGI方式的PHP on Windows 安装,一来可以获得更好的性能,二来据说PHP5.3及之后版本不打算再支持ISAPI方式安装了。
三、PHP on Windows的新选择——ZendServer
Zend为了更好的发挥PHP的性能提供了ZendServer,这是广大PHPer的福音。ZendServer的免费社区版提供了整合的快速PHP体验。ZendServer在支持linux环境部署,同时其Windows版本提供了PHP on Windows下的极速体验。ZendServer可以以Apache服务器方式安装也可以选择使用Windows IIS作为其应用服务器。提供了FastCGI支持,并且对PHP的性能进行了大量的优化。笔者在Linux和Windows下分别安装,体验到了其强大的性能,响应速度和数据处理速度均为XAMPP的一倍以上。
除了下载Apache+PHP+MySQL安装包手动安装编译安装外,使集成环境安装是目前快速配置PHP运行环境的捷径,现在又多了一个新选择——ZendServer,Zend公司为广大PHPer提供的快速PHP集成环境。
ZendServer的安装相对于全手工配置和使用常用集成环境配置都要相对简单很多,这里就不再多作介绍了。
总之,PHP目前在Windows上的获得了强大的支持,其性能也直逼LAMP组合。Microsoft加大了对PHP的支持,这无疑是推动PHP发展的强大动力。PHP在最近的语言排名也傲居三甲,显示了其强大的用户群体及生命力。PHP的开发速度和易用性是有目共睹的,这是PHP具有强大生命力的根本。在风起云涌的WEB应用浪潮中,PHP占有一席之地,其它语言也在虎视耽耽。
作为一个PHPer,应该了解PHP的长处,进而学好用好PHP。同时也要了解PHP的不足,从PHP中学进去,从PHP中悟出来。真正的理解PHP,真正的用好PHP。提升自我的核心战斗力,不断学习,不断领悟,不断应用,才能在软件开发的风口浪尖上傲然而立。最后,祝PHP和广大的PHPer在即将到来的2010年,百尺竿头,更进一步,取得更好的成绩。